Android中RecyclerView布局代替GridView实现类似支付宝的界面
来源:互联网 发布:vbscript linux 编辑:程序博客网 时间:2024/05/16 13:54
单纯使用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 占位,可以解决背景问题。
第二种方法 就是使用背景选择器 Selector。
相比较第一种方法,第二种方法实现起来更简单,但是也有一个小瑕疵,因为item 使用了selector, 那么相邻两个item 之间的分割线相当于两条,会加深。
如图所示:
仔细看图,在线充值的右边的线,与上面的线比起来 很不明显。
RecyclerView
下面开始讲今天的主角。抛开顶部的轮播图不说,下面那个表格大家首先想到的可能就是GridView。但是,既然我们已经有了全新且强大的RecyclerView控件,就可以在绝大多数场景下抛弃ListView或者GridView了。而对于RecyclerView替代ListView,相信大家已经有了一定的了解并在项目中有了一定的应用,但是对于RecyclerView替代GridView的使用,可能大家还些许陌生。接下来在这篇文章中就为大家详细讲述如何使用RecyclerView一个控件,搞定类似这样子的首页。
集成RecyclerView
首先,如果你还从未试用过RecyclerView,当然是要在build.gradle中做出如下配置从而集成RecyclerView
布局
现在我们在MainActivity简单的实现我们想要的效果,那么在activity_main.xml只要有一个RecyclerView就可以了。如下:
Adapter
首先,我们先来看一下Adapter是如何编写的
Item布局文件:
Activity
接下来再来看看我们在Activity中的代码如何编写
好了,接下来我们运行一下看看效果吧!
好了,那么和效果图还有一点点差距,就是画线!
线应该怎么画?在布局文件中画?貌似可行,但如果每个条目的边框都不规律怎么办?画一堆布局文件吗?太麻烦了。
所以在此就要用的RecyclerView中了另外一大特性:ItemDecoration。
在此我们写了一个名为MyItemDecoration的类,如下:
回到我们的Activity中,加如下代码即可:
最后再看看是什么效果:
当然,尽管最终效果有一些瑕疵,但是相信大家已经都基本明白了其中的思路,应用在自己的项目中的时候必然也要做出相应的调整。
最后,不得不说,现在RecyclerView已经基本具备了替代ListView和GridView的能力,在我们的项目知学中,大多数的列表都已经是以RecyclerView控件的形式作为展现。本文仅仅是从一个非常入门级的角度去讲解如何使用RecyclerView,而对于这个效果而言,还有很多种其他的实现方式,尤其是对于Adapter中的处理,也希望能够与大家多多交流。谢谢!
- Android中RecyclerView布局代替GridView实现类似支付宝的界面
- 可拖动GridView的实现,类似支付宝界面
- Android RecyclerView之代替ListView与GridView
- RecyclerView Item点击事件实现 类似GridView
- Android中很多界面的顶部都有相同类似的布局,我们怎么设置呢?
- 关于支付宝支付界面的实现
- Android 中使用 RecyclerView + SnapHelper 实现类似 ViewPager 效果
- Android 中使用 RecyclerView + SnapHelper 实现类似 ViewPager 效果
- Android中使用RecyclerView + SnapHelper实现类似ViewPager效果
- Android中使用RecyclerView + SnapHelper实现类似ViewPager效果
- android学习——GridView实现主界面布局
- Android RecyclerView中实现自定义GridView的方式(实现不同item)
- Android GridView实战:仿微信、支付宝钱包宫格界面
- android Recyclerview实现类似朋友圈点击添加图片的view
- RecyclerView 实现listview和gridview布局(各自的子布局不同,网络数据)
- Recyclerview的使用 是代替了Listview和Gridview
- Android实现类似网购电影票的简易GridView选择器
- Android 使用GridView来实现类似RadioButton的多行单选功能
- 安卓Activity中intent传送和接收数据
- 第16周 项目4-英文单词的基数排序
- 朴素贝叶斯
- 第十五周项目2—用哈希法组织关键字
- (4.6.22)来吧,是时候撸一份自己的RxJava框架啦
- Android中RecyclerView布局代替GridView实现类似支付宝的界面
- 1 java Web开发入门
- android取meta-data内容(备忘)
- Notificaiton状态通知栏
- sublime text 2 前端编码神器-快捷键与使用技巧介绍
- iOS 调用系统相机显示中文标题
- 第一天--React基础使用
- 第十六周项目1-(7)验证算法归并排序
- 第十六周项目三归并算法的改进