关于ListView设置分割线的那点事
2016-09-08 18:17
120 查看
大家在刚接触Android的时候,ListView肯定是第一个接触到的、也是比较常用的一个比较“高级”一点的控件,说它高级,主要是它在使用的时候比TextView、ImageView等基础控件要复杂一点。
当我们兴致勃勃的学习了ListView和Adapter直接的关系绑定,并且把列表展示出来了之后,遇到一个说起来很简单的一个问题,列表怎么添加分割线?
可以自己设置分割线的高度、颜色,列表头尾是否显示分割线等。
![](https://img-blog.csdn.net/20160908181702689)
那你要怎么做呢?
如果通过第一种方法在item view里设置分割线肯定是可以的,但是能不能通过divider来优雅的实现呢?答案是肯定的!
主要方法是设置一个divider的drawable,然后设置divider为此drawable,那么关键就是这个drawable怎么写了?直接上代码
这里主要用到了嵌入图像InsetDrawable的用法。它可以在背景图上嵌入一些资源,同时可以设置边距。
元素解释:
android:insetTop:图像距离上边的距离。
android:insetRight:图像距离右侧的距离。
android:insetBottom:图像距离底边的距离。
android:insetLeft:图像距离左侧的距离。
到这里完美解决了带边距divider的需求。
如果你觉得文章对你有用,请赞我;如果有任何问题,欢迎留言交流。
当我们兴致勃勃的学习了ListView和Adapter直接的关系绑定,并且把列表展示出来了之后,遇到一个说起来很简单的一个问题,列表怎么添加分割线?
1、item view里添加分割线
最直接最简单粗暴的方法就是在item view里自己添加分割线。自己想怎么设置都可以。缺点是实现起来不够优雅,当app里有多个列表(使用同样style)展示的时候,不能够复用。2、设置Divider
其实listview本来就有设置分割线的功能,可以在listview中添加divider属性:<item name="android:headerDividersEnabled">false</item> <item name="android:footerDividersEnabled">false</item> <item name="android:dividerHeight">1dp</item>
可以自己设置分割线的高度、颜色,列表头尾是否显示分割线等。
3、Divider的高级扩展
本来分割线就是一个很简单的功能,listview也提供了完备的支持,讲完第二点就OK了,但是如果你遇到了这样一个需求——分割线带边距!不是简单的设置list的padding,是分割线和整个item的边距都不一样,如图:那你要怎么做呢?
如果通过第一种方法在item view里设置分割线肯定是可以的,但是能不能通过divider来优雅的实现呢?答案是肯定的!
主要方法是设置一个divider的drawable,然后设置divider为此drawable,那么关键就是这个drawable怎么写了?直接上代码
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetLeft="60dp"> <shape android:shape="rectangle" > <solid android:color="@color/color_background" /> </shape> </inset>
这里主要用到了嵌入图像InsetDrawable的用法。它可以在背景图上嵌入一些资源,同时可以设置边距。
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/drawable_resource" android:insetTop="dimension" android:insetRight="dimension" android:insetBottom="dimension" android:insetLeft="dimension" />
元素解释:
android:insetTop:图像距离上边的距离。
android:insetRight:图像距离右侧的距离。
android:insetBottom:图像距离底边的距离。
android:insetLeft:图像距离左侧的距离。
到这里完美解决了带边距divider的需求。
如果你觉得文章对你有用,请赞我;如果有任何问题,欢迎留言交流。
相关文章推荐
- [Android]ListView中分割线的设置
- 关于ExpandableListView设置分组各种事件中背景切换错误混乱问题
- 如何为ListView设置分割线
- ListView设置分割线Divider样式
- AndrowListView实现(自定义游戏列表)防止屏幕闪烁,设置分割线android中不推荐的方法,要考虑向下兼容,用了推荐的新方法,可能不兼容旧版本系统的手机
- Android下用程序的方法为ListView设置分割线Divider样式
- listview item之间分割线的设置 listview拖动变黑状态
- Android下用程序的方法为ListView设置分割线Divider样式
- android ListView 拖动时出现白色色块以及分割线设置
- iOS 关于tableView cell的分割线的一些设置
- 关于在listview的getView中设置多个不同Tag报ClassCastException错误
- android ListView 设置分割线 Divider
- android样式学习(二) android给listview设置分割线Divider样式
- ListView 设置分割线 Divider
- 【Android开发入门】关于ListView中按钮监听器设置的解决方案
- [Android]ListView中分割线的设置
- 设置ListView分割线
- Android下用程序的方法为ListView设置分割线Divider样式
- 关于UITableViewCell分割线的处理(换样式,宽度·高度调整,颜色等的设置)
- android -- 小问题 关于ListView设置了OnScrollListener之后onScrollStateChanged()和onScroll方法监听不到的问题