Android借鉴支付宝的思路解决 GridView网格线粗细的问题

通用的两种给GridView 添加分割线的方法;http://stackoverflow.com/questions/7132030/android-gridview-draw-dividers

给Gridview 添加分割线,也就是实现网格布局,不清楚谷歌为什么没有给Gridview 添加一个类似 ListView 的Divider 属性,因此就需要我们自己去添加分割线,

目前两种方法,第一种是 利用GridView 的  android:horizontalSpacing="1dp"与android:verticalSpacing="1dp" 属性 利用GridView的背景色 与ItemView的背景色 ,之间的间隙作为分割线。

利用 Spacing 属性 的分割线效果图:

 

这种方法可以实现 网格分割线,但是缺点是 item 没有的地方,其显示的是背景色,不太美观。

这是我们参考支付宝:支付宝做的是,默认是整行的,不够正行, 添加空白的item。

如图:


没有也放上一个item 占位,可以解决背景问题。 

Android借鉴支付宝的思路解决 GridView网格线粗细的问题_第1张图片

第二种方法 就是使用背景选择器 Selector。 

相比较第一种方法,第二种方法实现起来更简单,但是也有一个小瑕疵,因为item 使用了selector, 那么相邻两个item 之间的分割线相当于两条,会加深。

如图所示:

Android借鉴支付宝的思路解决 GridView网格线粗细的问题_第2张图片

仔细看图,在线充值的右边的线,与上面的线比起来 很不明显。


如有更好思路 欢迎留言, 不胜感激。


你可能感兴趣的:(GridView,分割线,网格布局)