RecyclerView和listview的区别

来源:互联网 发布:淘宝售假申诉补充留言 编辑:程序博客网 时间:2024/05/17 16:54

RecyclerViewgeng效果比listview更酷炫

效果有有列表,表格,瀑布流三种效果,就是管理者不同,所以参数略有不同,

功能的高度解耦化,规范 ViewHolder 的写法,以及对动画友好支持,都是它与传统控件 ListView 的区别。而无论 ListView 还是 RecyclerView,本质上都是在有限的屏幕之上,展示大量的内容。所以复用的逻辑,就成了它们最最重要的核心原理,本文主要目的就是探究 RecyclerView 的复用原理。

适配器的不同:
 1.继承RecyclerView.Adapter 2.viewholder 3.定义范型<类名.ViewHolder> 4.创建构造函数得到外界上下文和数据 5.onCreateViewHolder创建布局的对象 6.viewholder查找控件对象 7.onBindViewHolder绑定数据

重写的方法:

  1.  onBindViewHolder  相当于getview,当viewhonlder和数据绑定时回调
  2. getItemCount数据条目数,有几条显示几条
  3.   ViewHolder 需要继承RecyclerView.ViewHolder,类似ListView中的viewholder,优化

高度解耦,就是通过以上对象各司其职,来实现 RecyclerView 的基本功能

RecyclerView 的几大模块:

  • LayoutManager 
    负责 RecyclerView 中,控制 item 的布局方向

  • RecyclerView.Adapter
    为 RecyclerView 承载数据

  • ItemDecoration
    为 RecyclerView 添加分割线

  • ItemAnimator
    控制 RecyclerView 中 item 的动画

三种管理者:

GridLayoutManager继承LinearLayoutManager,其他两个继承的LayoutManager

LinearLayoutManager(线性布局效果)

GridLayoutManager(网格布局效果)

StaggeredGridLayoutManager(瀑布流布局效果)

原创粉丝点击