今天需要设置listview的divider,这个divider是带边距的。
一开始想使用一个view做边距,但是需要控制这个view的显示,还要改adapter,很麻烦。
其实listview的divider就可以做到。
但是这个divider是要带边距的,咋整!!!
Use <inset>
drawable/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>
And in your layout:
<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>
主要就是使用了insetdrawable,InsetDrawable 表示一个drawable嵌入到另外一个drawable内部,并且在内部留一些间距,这一点很像drawable的padding属性,区别在于 padding表示drawable的内容与drawable本身的边距,insetDrawable表示两个drawable和容器之间的边距。当控件需要的背景比实际的边框小的时候比较适合使用InsetDrawable。