在设置ListView分割线的时候,我们可以通过
android:divider="@drawable/listview_divider"
来自定义分割线,listview_divider这个XML我使用的如下的形式实现
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:left="47.5dp"
android:right="10.5dp">
<shape android:shape="rectangle" >
<solid android:color="#ececec" />
</shape>
</item>
</layer-list>
因为这个分割线离两边是有间距的,使用后发现,ListView自带的分割线在两边的间距内还是会显示出来。
这里我通过2个item叠加来解决这个问题
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#ffffff" />
</shape>
</item>
<item
android:left="47.5dp"
android:right="10.5dp">
<shape android:shape="rectangle" >
<solid android:color="#ececec" />
</shape>
</item>
</layer-list>
底部叠加一个距离两边没有间距的item,颜色与ListView的item子项相同即可。