20

如何设置自定义 ListView 分隔线的宽度,使其小于我的行宽?

4

4 回答 4

61

ARecyclerView通常比使用 a ListViewnow 更受欢迎。有关如何设置分隔线宽度的信息,请参阅此问答RecyclerView

采用<inset>

可绘制/list_divider.xml

<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="10dp"
    android:insetRight="10dp" >

    <shape android:shape="rectangle" >
        <solid android:color="@color/list_divider_color" />
    </shape>

</inset>

在您的布局中:

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:cacheColorHint="#00000000"
    android:divider="@drawable/list_divider"
    android:dividerHeight="1dp" >
</ListView>

在此处输入图像描述

资料来源:

于 2014-08-15T10:48:18.137 回答
13

制作一个左右有透明像素的 9 个补丁 png。例如,一个 53x4 .9.png 的两边都有 25 个透明像素(+ 像素到 9patch 它)会拉伸 1 个像素,因此它的两边都有 25 个像素。

于 2011-11-04T13:47:41.110 回答
4

如果您不想制作 9 补丁,则可以插入

<View android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginTop="4dp" android:background="#33B5E5" />

在 list_item 的 xml 代码中。它会创建一条蓝线,您可以轻松控制这条线的宽度。要使此操作成功,您必须禁用 listview 的分隔符。这是这里给出的

于 2013-07-13T06:35:38.260 回答
0

你应该可以打电话

mListView.setDivider(Drawable d);

并将它传递给您可以包含在 res/drawable 文件夹中的可绘制对象。如果你想让它几乎一直穿过,你可以制作一个 9 补丁,其中包含一条水平线,在左侧和右侧有你想要的透明度。并将其设置为拉伸线条的中间部分。

于 2011-11-04T13:48:05.587 回答