他山之石之用RecyclerView来展示图片,替换GridView和Gallery

用RecyclerView展示用Volley加载的网络图片

本例展示的是RecyclerView的使用,主要是针对展示图片,实现网格视图和画廊视图和瀑布流同样的效果,RecyclerView的实现必须要设置一个LayoutManager布局管理器;针对图片的展示,这里只说明实现画廊视图,网格视图和瀑布流效果三种图片的设置方式一个基本的演示,而对于文本信息的展示,首要选择ListView。
实现画廊视图,横向滑动展示:线性布局管理器 LineLayoutManager 
        LineLayoutManager lineLayoutManager=new LineLayoutManager(this);
        lineLayoutManager.setOrientation(LineLayoutManager.HORIZONTAL)
        mRecyclerView,setLayoutManager( lineLayoutManager);
实现网格视图,网格布局管理器 GridLayoutManager
        mRecyclerView.setLayoutManager(new GridLayoutManager(this,3)); 这里的第二个参数是列数
下面是一个简单的RecyclerView展示形成GridView的效果:





实现GridView的效果如果展示:

更改其中的几行代码,按注释的代码运行,可以很清楚的看到实现画廊视图的效果。

运用RecyclerView可以分为两步,第一是初始化数据initData( );我们一般选用集合或者数组来存储数据;第二步是构建适配器,继承RecyclerView.Adapter<Object>( );重写三个方法,getItemCount(),onBindViewHolder()和getOnCreateViewHolder(), 这里的泛型Object必须要继承ViewHolder,在getOnCreateViewHolder方法中完成视图的加载,然后再对视图中的控件进行初始化,初始化的任务就是在继承ViewHolder的Object完成的。也就是说必须要在加载的视图中“找到”这些视图控件,比如ImageView和TextView、Button等,然后在onBindViewHolder()方法中对这些控件进行数据赋值。很显然,这个过程就很好的将视图加载和数据绑定这两个过程分离,相对于别的适配器中的getView方法中同时完成视图加载和数据赋值,这里显得更加优越。RecyclerView还可以实现瀑布流的效果,用到另外一个布局管理器,StaggeredGridLayoutManager,而且还需要在 onBindViewHolder()方法中对每一个item设置一个随机的高度,就ok了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值