现在做项目会遇到很多list中的divider不是占据整个listview的宽度的 而是看UI到底给设置成什么鬼样,
类似这种的两边都有边距,难道还要用布局给每一个item都加上一个灰色的view吗, 而且还要控制最后一个隐藏,其他的显示
无形中给自己添加了很多的工作,浪费性能!
其实完全可以用inset.xml搞定,上例子:
下面的是list_divider.xml 文件 在drawable文件下面
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetLeft="16dp" android:insetRight="16dp" > <shape android:shape="rectangle" > <solid android:color="@color/base_line" /> </shape> </inset>
上面创建了一个左右边距为16dp的以base_line颜色实心长方形,
如果你只是想要一个有边距但是空心的xml,可以把<shape></shape> 这个标签的内容去掉就好了,
下面贴一下ListView的代码:
<ListView android:id="@+id/lv_air_transport" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@drawable/list_divider" android:dividerHeight="1dp" android:listSelector="#00000000" android:cacheColorHint="#00000000" android:fadingEdge="none" android:scrollbars="none"></ListView>
在这个listview中的divider属性引用上面的xml文件,其中dividerHeight这个属性是一定要给的,
我是直接引用项目里的东西,效果就不上了,但是肯定是两边留白,还不用自己控制什么时候显示,什么时候隐藏
省时省力,重要的是一个app的风格基本都是统一的,写一个这样的东西,整个app都可以用