如何设置自定义ListView分隔符的宽度,以使其小于行宽?
答案 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>
<强>来源:强>
答案 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补丁,左右两侧都有你想要的透明度。并将其设置为拉伸线的中间部分。