Android listview - 仅在列表末尾添加分隔符

Android listview - Add a divider only at the end of the list

我正在创建一个具有多个 listView 的自定义抽屉视图。为了向用户很好地展示这一点,我想用分隔线分隔这些 listView。

我已经设法显示项目之间的分隔线,甚至让最后一个显示分隔线,但不仅仅是最后一个项目。

我知道我可以用

切换分隔线
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"

但这不是预期的效果(每个列表项之间的分隔线)。我只需要在列表下方添加一行。

此时我的 ListView XML:

<ListView android:id="@+id/list_view_drawer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="false"
    android:choiceMode="singleChoice"
    android:divider="@color/progress_gray"
    android:footerDividersEnabled="false"
    android:headerDividersEnabled="false"
    android:dividerHeight="1dp"
    android:background="#fff" />

有什么办法可以达到这种效果吗?

提前致谢。

编辑: 我知道我可以在列表下方放置一个 1dp 高度的视图。但我正在列表视图中寻找一个选项。如果那不可能,它开始看起来像。我将采用该解决方案。我觉得有点脏,但没办法。

您可以简单地在列表视图之间添加一个 1dp 高的视图。

</ListView>
<View
   android:layout_height="1dp"
   android:layout_width="match_parent"
   android:background="@android:color/red"
/>

在您的抽屉布局中添加:

<ListView android:id="@+id/list_view_drawer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="false"
        android:choiceMode="singleChoice"
        android:background="#fff" />
<View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/progress_gray"/>

<ListView android:id="@+id/list_view_drawer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="false"
        android:choiceMode="singleChoice"
        android:background="#fff" />

您可以使用 addFooterView (View v) 在列表末尾添加视图。更多信息 here

而且看起来您需要从代码中执行此操作。

要仅在列表视图的最后一项设置分隔线,您可以在图像视图中查看或放置水平线。

      <ImageView
        android:id="@+id/imageseprator"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/strip" />

或者

     <View
        android:id="@+id/imageseprator"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/strip"/>