android中ListView默认的分割线是填充满整个listview的宽度的,然后设计师需要的偏偏就是不填充满的状态,找了相关资料,写了个demo验证下。
当然最简单的实现方式就是用图片了,但是图片就要涉及到分辨率,那用颜色填充会比较直接。
在drawable中定义我需要的分割线main_list_divider_line.xml
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:left="10dp"
- android:right="10dp">
- <shape android:shape="rectangle" >
- <solid android:color="#33000000" />
- </shape>
- </item>
- </layer-list>
其中android:left表明其距离左边的距离,android:right表示距离右边的距离,android:shape="rectangle"表示是用一个矩形填充,android:color="#33000000"填充的颜色。
然后在配置listview的地方设置分割线为上述填充物即可
- <ListView
- android:id="@+id/main_list"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:divider="@drawable/<span style="color: #ff00ff;">main_list_divider_line</span>"
- android:dividerHeight="1px"
- android:layout_marginTop="14dp" >
- </ListView>