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

StackOverflow https://stackoverflow.com/questions/2542477

  •  23-09-2019
  •  | 
  •  

Вопрос

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

android:divider="@android:drawable/divider_horizontal_bright"
Это было полезно?

Решение

Вы изучали настройку android:headerDividersEnabled и android:footerDividersEnabled на ListView?

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

Другие советы

Добавьте фиктивный нижний колонтитул и заголовок

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.

Как 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>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top