Почему разделитель не отображается в списке @android: id / list? - PullRequest
5 голосов
/ 16 марта 2012

У меня есть линейный макет, который содержит следующее представление списка:

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000"
    android:divider="#FF0000"
    android:dividerHeight="4dp"
     />

, и макет используется ListActivity, проблема в том, что следующая строка в ListView xml не вступает в силу:

     android:divider="#FF0000"
    android:dividerHeight="4dp"

и установлен разделитель по умолчанию.У тебя почему это происходит и как это исправить?

Ответы [ 4 ]

5 голосов
/ 16 марта 2012

это разница между dp и px.

используйте это

android:dividerHeight="4px"

вместо

android:dividerHeight="4dp"

и используйте это также, если хотите

int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);

вы получите ..

3 голосов
/ 04 апреля 2014

Для меня это работает отлично:

 <ListView
     android:id="@+id/listHomeScreen"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:cacheColorHint="#000"
     android:divider="#7F7F7F"
     android:dividerHeight="1dip"
     android:listSelector="@android:color/transparent" >
</ListView>

Убедитесь, что мы не переопределяем Android: высота делителя или цвет делителя.

1 голос
/ 23 апреля 2015

В Android Lollipop 5.0 есть ошибка, если вы переопределили setEnabled (), то это происходит.Проверьте этот вопрос для получения дополнительной информации Разделитель ListView не отображается в Android 5

1 голос
/ 16 марта 2012

Решено сейчас . проблема прежде, чем я решу сделать список в xml, у меня был этот код в моей listActivity, чтобы добавить разделитель, который перекрывал xml:

int[] colors = { 0xA8A8A8A8, 0xFFFFFFFF, 0xA8A8A8A8 };
getListView().setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
getListView().setDividerHeight(1);
...