listView Divider

2018-03-28  本文已影响0人  endian

今天需要设置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>
image

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

上一篇 下一篇

猜你喜欢

热点阅读