#android #android-layout
#Android #android-макет
Вопрос:
Я разрабатываю приложение, и мне нужно нарисовать границы и разделители в представлении, например, в приложении eBay.
Я думаю о сочетании фигур и представления с 1dp. Есть другой простой способ?
Большое спасибо.
Комментарии:
1. Собираетесь ли вы использовать ListView или Views в LinearLayout?
2. Галлал, я пытаюсь использовать представления внутри LinearLayout.
Ответ №1:
Создайте изображение с 9 участками для внешней границы. Используйте это в качестве фонового ресурса, и это даст вам закругленные углы со сплошной границей. Для разделителей вы можете создать простой вид и иметь другой фоновый ресурс, представляющий собой простое изображение того же цвета, что и граница в 9-патче.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/roundedborder"
android:orientation="vertical">
<!-- Put Saved Searches display code here. Probably LinearLayout/horizonal -->
<TextView
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@drawable/simpleborder"
android:layout_margin="3dp"/> <!-- Spacer! -->
<!-- Put Favorite sellers display code here. Probably LinearLayout/horizonal -->
</LinearLayout>
</LinearLayout>
Комментарии:
1. Спасибо, кажется, это самый простой способ!
Ответ №2:
или вы могли бы использовать поля внизу, для представления, которое находится чуть выше пустого пространства.
android:layout_marginBottom="1dp"
Комментарии:
1. @downvoter, не хочешь объяснить?, я объяснял альтернативу для представления с высотой 1dp.
Ответ №3:
Если вы имеете в виду, как представления группируются вместе, так что некоторые из них имеют изогнутые углы сверху, другие внизу плюс отступы или поля, а другие вообще не имеют изогнутых углов, то это один из способов сделать это.
Если вы используете ListView с ListAdapter, то при переопределении getView(int position, View convertView, ViewGroup parent)
определите, из position
какого представления должно быть возвращено, и верните его. Вы можете изменить отступы и поля представления, прежде чем возвращать его.
Кроме того, будет более эффективно, если вы переопределите getItemViewType(int position)
и вернете постоянное представление типа представления для определенной позиции, чтобы Android мог повторно использовать представления, и вам не придется каждый раз раздувать новый или изменять атрибуты.
Комментарии:
1. Я пытаюсь использовать представления внутри LinearLayout. Но я оставлю этот ответ для будущих разработок, спасибо!