Верхний и нижний горизонтальный разделитель не отображается в 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>
это добавит разделитель вручную.