listview的divider边距

今天需要设置listview的divider,这个divider是带边距的。

一开始想使用一个view做边距,但是需要控制这个view的显示,还要改adapter,很麻烦。

其实listview的divider就可以做到。

但是这个divider是要带边距的,咋整!!!

后来在stackoverflow上找到了答案,工程师的福地啊!!!

http://stackoverflow.com/questions/14054364/how-to-assign-padding-to-listview-item-divider-line

http://stackoverflow.com/questions/11096304/listview-divider-margin

http://stackoverflow.com/questions/8010072/how-to-set-width-of-listview-divider

Use

drawable/list_divider.xml

 xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="10dp"
    android:insetRight="10dp" >

     android:shape="rectangle" >
         android:color="@color/list_divider_color" />
    

And in your layout:


    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的divider边距_第1张图片

主要就是使用了insetdrawable,InsetDrawable 表示一个drawable嵌入到另外一个drawable内部,并且在内部留一些间距,这一点很像drawable的padding属性,区别在于 padding表示drawable的内容与drawable本身的边距,insetDrawable表示两个drawable和容器之间的边距。当控件需要的背景比实际的边框小的时候比较适合使用InsetDrawable。

具体见这篇文章http://blog.csdn.net/lonelyroamer/article/details/8244607

你可能感兴趣的:(Android)