使用RecyclerView打造类支付宝首页的GridView效果
大家好,这两天在我们的项目知学中,有一个全新的首页需求,最终实现的效果如下
这也是类似支付宝首页的那种网格效果。
抛开顶部的轮播图不说,下面那个表格大家首先想到的可能就是GridView。但是,既然我们已经有了全新且强大的RecyclerView控件,就可以在绝大多数场景下抛弃ListView或者GridView了。而对于RecyclerView替代ListView,相信大家已经有了一定的了解并在项目中有了一定的应用,但是对于RecyclerView替代GridView的使用,可能大家还些许陌生。接下来在这篇文章中就为大家详细讲述如何使用RecyclerView一个控件,搞定类似这样子的首页。
集成RecyclerView、
首先,如果你还从未试用过RecyclerView,当然是要在build.gradle中做出如下配置从而集成RecyclerView
1
|
compile 'com.android.support:recyclerview-v7:22.2.0'
|
布局
现在我们在MainActivity简单的实现我们想要的效果,那么在activity_main.xml只要有一个RecyclerView就可以了。如下:
1
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
Adapter
首先,我们先来看一下Adapter是如何编写的
1
|
public class MyAdapter extends RecyclerView.Adapter {
|
Item布局文件:
1
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
Activity
接下来再来看看我们在Activity中的代码如何编写
1
|
public class MainActivity extends Activity {
|
好了,那么和效果图还有一点点差距,就是画线!
线应该怎么画?在布局文件中画?貌似可行,但如果每个条目的边框都不规律怎么办?画一堆布局文件吗?太麻烦了。
所以在此就要用的RecyclerView中了另外一大特性:ItemDecoration。
在此我们写了一个名为MyItemDecoration的类,如下:
1
|
public class MyItemDecoration extends RecyclerView.ItemDecoration {
|
回到我们的Activity中,加如下代码即可:
1
|
//把我们自定义的ItemDecoration设置给RecyclerView
|
最后再看看是什么效果:
当然,尽管最终效果有一些瑕疵,但是相信大家已经都基本明白了其中的思路,应用在自己的项目中的时候必然也要做出相应的调整。




浙公网安备 33010602011771号