如何设置ListView分隔符的宽度?

时间:2011-11-04 13:41:58

标签: android listview width divider

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

4 个答案:

答案 0 :(得分:56)

RecyclerView通常比现在使用ListView更受青睐。有关如何在RecyclerView中设置分隔线的宽度,请参见this Q&A

使用<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>

enter image description here

<强>来源:

答案 1 :(得分:13)

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

答案 2 :(得分:3)

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

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

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

答案 3 :(得分:0)

您应该可以致电

mListView.setDivider(Drawable d);

并传递一个drawable,您可以将其包含在res / drawable文件夹中。如果你想让它几乎一直走到你身边就可以制作一个包含水平线的9补丁,左右两侧都有你想要的透明度。并将其设置为拉伸线的中间部分。