Android 给listview设置分割线与边界的距离

时间:2022-10-24 20:33:11

ListView可通过配置

android:dividerline

android:dividerHeight

来实现分割listview中item的效果,如图:

如果想跟上图一样实现这种有设计的分割线样式的时候可以使用下面的方法,这个方法也是参照*解决方案上的方法来实现。

创建分割线的布局文件:

list_item_divider.xml:

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="15dp"
android:insetRight="15dp"
android:drawable="@color/line_gray">
</inset>

在listview的divider属性中引用这个布局

<ListView
android:id="@+id/listView1"
android:divider="@drawable/list_item_divider"
android:dividerHeight="1px"
android:layout_below="@id/rlHeader1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

这样就能实现图中的效果了。

PS:

inset属性 
定义嵌入的可绘制资源。它必须是根元素。 
属性(ATTRIBUTES): 
xmlns:android 
字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android 
android:drawable 
要绘制的资源,必须的,它指向一个要嵌入的可绘制资源。 
android:insetTop 
尺寸值。用尺寸值或Dimension资源定义顶部的嵌入位置。 
android:insetRight 
尺寸值。用尺寸值或Dimension资源定义右边的嵌入位置。 
android:insetBottom 
尺寸值。用尺寸值或Dimension资源定义底部的嵌入位置。 
android:insetLeft 
尺寸值。用尺寸值或Dimension资源定义左边的嵌入位置。