Удалите Нижний разделитель android ListView

у меня фиксированная высота ListView. Он имеет разделитель между элементами списка, но он также отображает разделители после последнего элемента списка.

есть ли способ не отображать делитель после последнего элемента в ListView?

5 ответов


просто добавить android:footerDividersEnabled="false" к вашему описанию ListView


как сказала @ScootrNova, это, похоже, ведет себя по-другому (a.к. багги) в android 4.4.x (я не знаю точно, когда проблема введена)

Это связано с конкретные случай использования using padding + clipToPadding="false" - в 4.4.x нижний колонтитул нарисован вне вида, но клипы для заполнения показывают его.

решение, которое я использовал, было установить нижний колонтитул над прокруткой (android:overScrollFooter) к прозрачному, который как-то работает...

мое окончательное решение (обратите внимание, что android:footerDividersEnabled сохраняется для обратной совместимости):

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/activity_horizontal_margin"
    android:divider="@color/divider"
    android:dividerHeight="1px"
    android:clipToPadding="false"
    android:scrollbarStyle="outsideInset"
    android:overScrollFooter="@android:color/transparent"
    android:footerDividersEnabled="false"
    />

протестировано на HTC One X под управлением 4.1.1, Nexus 5 под управлением 4.4.4 и Samsung Galaxy S5 под управлением 4.4.2 (благодаря @Dallas187). Кажется, тоже работает леденец. (спасибо комментаторам!)


Если вы хотите сделать это с помощью кода, это:

listView.setFooterDividersEnabled(false);

и если вы используете ListFragment, вы можете получить listview по:

listFragment.getListView().setFooterDividersEnabled(false);

только прокомментировал, потому что это появляется как #1 в google


Кажется, что ниже строки не работает на устройстве lollypop.

listView.setFooterDividersEnabled(false);

Так что нужно использовать этот код ниже, чтобы удалить разделитель после последнего элемента в списке.

listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));

использовать фон = @android: цвет / прозрачный. Работать отлично. Вы все еще можете использовать фон вашего макета строк