Удалите Нижний разделитель списка android


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

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

5 92

5 ответов:

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

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

Это связано с конкретные случай использования с помощью 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

Кажется, что ниже линии не работает на устройстве леденец.

listView.setFooterDividersEnabled(false);

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

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

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