Android ListView Стили делителя по умолчанию / Атрибуты - PullRequest
21 голосов
/ 13 марта 2011

У меня есть представление LinearLayout, к которому я пытаюсь добавить разделитель, чтобы он выглядел точно так же, как элемент управления ListView по умолчанию. Я пытаюсь реплицировать контакт редактирования в приложении контактов Android (Nexus S 2.3.3) по умолчанию, и я считаю, что LinearLayout лучше всего подходит для производительности.

Я использую код для репликации разделителя, как показано ниже:

    <View
    android:id="@+id/Separator"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/dividerHeight"
    android:background="?android:attr/divider"/>

Как получить доступ к цвету разделителя по умолчанию или к рисунку, а также к высоте разделителя? Мне бы хотелось, чтобы это соответствовало настройкам ListView, которые я настроил, поэтому я думаю, что лучше использовать системные атрибуты Android. Приведенный выше код дает сбой, как показано ниже, поэтому я предполагаю, что не могу получить доступ к этим атрибутам или неправильно это делаю.

03-13 22:59:38.851: ERROR/AndroidRuntime(3575): Caused by: java.lang.RuntimeException: Binary XML file line #26: You must supply a layout_height attribute.

Ответы [ 2 ]

38 голосов
/ 13 марта 2011

Вот как это делается в Исходный код Android

<View android:id="@+id/Separator"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="?android:attr/listDivider" />
0 голосов
/ 20 сентября 2013

Источник Знания Мага должен быть https://developer.android.com/reference/android/R.attr.html

public static final int listDivider:

Drawable для разделителя списка.Должна быть ссылкой на другой ресурс в форме "@ [+] [package:] type: name" или на атрибут темы в форме "? [Package:] [type:] name".

Итак, все, что мне нужно сделать, - это ввести в строке поиска сайта - «рисовать для разделителя списка» или просто «разделитель»

...