Android开发之实现GridView支付宝九宫格

2019-12-10 19:53:19刘景俊

本文给大家介绍android开发之实现gridview支付宝九宫格,其原理是让每个item都设置成带有分割线的背景,在这不透漏太多内容,感兴趣的朋友请阅读全文

先给大家展示下关于仿支付宝钱包首页中带有分割线的gridview,俗称九宫格 的效果图,怎么样是不是和你想象的一样啊。在你的预料之中就继续访问以下代码内容吧。

Android开发之实现GridView支付宝九宫格

我们都知道ListView设置分割线是非常容易的,设置ListView的分割线颜色和宽度,只需要在布局中定义android:divider和android:dividerHeight属性即可。而GridView并没有这样的属性和方法,那我们改如何来做呢?

脚本之家小编在做这个效果之前,也参考了其他的一些方案,比如说定义一个自定义的GridView,然后在dispatchDraw()方法中在每个item的四周加上一条分割线,这是需要靠算法来实现的,最后这种方法实现的效果并不理想,会出现有些item中没有加上分割线,很难达到我们想要的这种效果。

其实实现这种效果并不难,原理就是让每个item都设置成带有分割线的背景,这样就很容易实现了。

首先我们来写布局:

 

  1. <LinearLayout xmlns:android="http://www.easck.com/apk/res/android"  android:layout_width="match_parent" 
  2. android:layout_height="match_parent"  android:orientation="vertical" >  
  3. <ScrollView   android:layout_width="fill_parent" 
  4. android:layout_height="wrap_content"  android:fillViewport="true" 
  5. android:scrollbars="none" >   <com.finddreams.alipay.MyGridView  
  6. android:id="@+id/gridview"  android:layout_width="fill_parent" 
  7. android:layout_height="wrap_content"  android:horizontalSpacing="0.0dip" 
  8. android:listSelector="@null"  android:numColumns="3" 
  9. android:scrollbars="none"  android:stretchMode="columnWidth" 
  10. android:verticalSpacing="0.0dip" />   </ScrollView>  
  11. </LinearLayout>