RecyclerView的简单使用(1)

说到RecyclerView,可能有些人会问都有ListView为什么还要用RecyclerView呢?但是真正了解ListView的人,就会知道ListView里面有好多的缺陷,想要实现一些比较的酷炫的效果,只能去自定义控件。而Android5.0的发布,我觉得对于Android开发者来说有跨时代的意义,因为Android5.0可以说是完全针对的用户体验而设计的,这样既简化了开发方式,同时增加了用
摘要由CSDN通过智能技术生成

说到RecyclerView,可能有些人会问都有ListView为什么还要用RecyclerView呢?但是真正了解ListView
的人,就会知道ListView里面有好多的缺陷,想要实现一些比较的酷炫的效果,只能去自定义控件。而Android5.0的发布,我觉得对于Android开发者来说有跨时代的意义,因为Android5.0可以说是完全针对的用户体验而设计的,这样既简化了开发方式,同时增加了用户体验感。为什么这样说呢?还记得5.0之前的Android的效果吗,界面之间的切换从来不会有过度的效果,而5.0之后增加了页面切换时的动画缓冲,用户使用起来不会在觉得枯燥。
另外,还有革命性的变化,5.0之前所有的点击事件过程中的一切动画都需要手写,而5.0之后增加了好多点击动画效果,较为突出的就是点击按钮时显示水波纹的效果。其次,5.0之前想要实现圆形头像和圆角头像,都要手动的是自定义,5.0发布之后我们再也不需要过这种苦逼的日子了,5.0给我们封装了好多理想化的控件,不得不佩服Google的大师们。这些知识粗略的介绍5.0给我们带来的好处,后面有时间会专门针对5.0进行详细深入的探讨。
言归正传,我来讲述一下这两天学习RecyclerView的成果。自我认为,RecyclerView跟ListView有较大的改变,尤其在灵活性方面,RecyclerView更是做到了极致。下面针对RecyclerView与ListView来介绍一下两者之间的异同点。
相同点:两者之间都有自己的适配器(adapetr),但是这两个适配器并不一样。
listView适配器的实现过程:
**//主要用来说明即将展示的集合中的条目数
public int getCount();
//返回对应的item对象
public Object getItem(int position);
//返回对应的item的id
public long getItemId(int position);
//最核心的方法(控制控件的复用)
public View getView(int position, View convertView, ViewGroup parent);**

在做listview适配器的时候,我们把大部分的时间都花在怎么写getView()这个方法中了,因为对于列表的操作都要在这个方法中进行控制的。所以,在只做展示的功能的时候,我们只需要使用万能适配器就可以了。
RecyclerView的适配器的实现过程:
**因为RecyclerView这个空间不可能在Activity或者Fragment中进行添加点击事件,一切的操作都要在适配器中进行设置。所以不管我们实现item中整体点击还是item其中的某个空间进行点击,都要在这里面的进行手动的设置。基本思想就是,在适配器中写一个接口,接口中定义几个方法(响应点击事件方法)。然后实现其中的三个方法:

//创建item
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType);
//绑定item
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position);
//主要用来说明即将展示的集合中的条目数
public int getItemCount();

下面还需要些一个内部类(ViewHolder),用来解析item.xml,需要之一的是RecyclerView里面支持展示不一样的内容,所以我们要展示几种类型就要编写几个ViewHolder这个类。然后通过onCreateViewHo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值