Верхний и нижний горизонтальный разделитель не отображается в ListView

Я использую ListView. Но верхняя и нижняя горизонтальные полосы не отображаются. Почему? Я использую это:

android:divider="@android:drawable/divider_horizontal_bright"

4 ответов


вы заглянули в настройки android:headerDividersEnabled и android:footerDividersEnabled на ListView?

кроме того, если вы ищете drawDivider на платформа / фреймворки/base/+/master/core/java/android/widger / ListView.java на репозиторий с открытым исходным кодом Android, вы сможете найти еще несколько подсказок.


добавить фиктивного footer и header

listViewContato = (ListView) view.findViewById(R.id.listview_contatos);
listViewContato.addHeaderView(new View(getActivity()));
listViewContato.addFooterView(new View(getActivity()));

вот как я это реализовал... Нижний делитель появляется после установки android:paddingBottom на ListView. Но в моем случае после установки android:paddingTop верхний и Нижний разделители не отображаются. Не знаю почему. Поэтому я добавил в свой list_item_layout.xml следующий код:

<View
    android:layout_width="match_parent"
    android:layout_height="1dip"
    android:background="?android:attr/listDivider" />

и в моем адаптере я просто меняю видимость этого вида:

View topDivider = v.findViewById(R.id.divider);

if (position == 0) {
    topDivider.setVisibility(View.VISIBLE);
} else {
    topDivider.setVisibility(View.GONE);
}

надеюсь, это поможет кому-то.


у меня была такая же проблема с LibSlideMenu.

As android:headerDividersEnabled значение true не показывало разделитель заголовка в скользящем меню, я решил его, изменив slidemenu.xml (не slidemenu_listitem.xml) к

<LinearLayout ...>

    <LinearLayout ...>
    <ImageView ...>  (this is the header image on top of the menu)

    <View
    android:layout_width="250dip"
    android:layout_height="2dip"
    android:background="@drawable/divider" />

    <ListView ...> (this is the ListView for the MenuItems)
    </LinearLayout>


    <FrameLayout ...>
    </FrameLayout ...>
</LinearLayout>

это добавит разделитель вручную.