混沌大陆·RecyclerView

介绍Android5.0推出的RecyclerView控件,其特点包括灵活性与高效性,并详细讲解如何使用RecyclerView,包括设置布局管理器、添加动画及使用适配器的方法。此外还介绍了RecyclerView在不同布局管理器下的应用案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RecyclerView是什么

Android 5.0推出了材料设计的设计概念
5.0之后最显著的一个特点是 圆角 和 阴影
5.0中的阴影效果实际上是一个结果,导致出现阴影的真正原因是 海拔(Elevation)


最经典的一个控件,RecyclerView


RecyclerView是5.0正式推出的,然后官方推出的是兼容包,兼容到 V7(Android 2.1)

RecyclerView有什么优点

RecyclerView是一个比ListView更加灵活,更加高效的适配器类型控件,RecyclerView的显示是通过布局管理器控制的

RecyclerView怎么用

RecyclerView的基本使用
* ① 导入RecyclerView
* ② 在xml布局中声明,在java中进行实例化
* ③ 为RecyclerView设置布局管理器
* ④ 为RecyclerView绑定适配器
*
* RecyclerView 是通过LayoutManager进行控制的,RecyclerView默认提供了三种布局管理器
* ① LinearLayoutManager 线性布局管理器 横向和纵向的ListView
* ② GridLayoutManager 表格布局管理器,GridView效果
* ③ StaggeredGridLayoutManager 瀑布流布局管理器,参差不齐的item,瀑布流效果
*

  • 获取布局管理器
    // 为RecyclerView设置布局管理器 线性布局管理器 ListView效果
    // LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL
    // , true);
    // LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    // 表格布局管理器 GridView效果
    // GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
    // 瀑布流布局管理器 参差不齐效果
    StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);`
  • 设置下划线和动画
    https://blog.csdn.net/hxltech/article/details/52117604

    https://www.jianshu.com/p/2a82b0341138

    //设置Adapter
    recyclerView.setAdapter(recycleAdapter);
    //设置分隔线
    recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));
    //设置增加或删除条目的动画
    recyclerView.setItemAnimator( new DefaultItemAnimator());

  • 适配器
    a) onCreateViewHolder()
    这个方法主要生成为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。

    b) onBindViewHolder()
    这个方法主要用于适配渲染数据到View中。方法提供给你了一viewHolder而不是原来的convertView。

    c) getItemCount()
    这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。

RecyclerView特别注意什么

RecyclerView在实现复用的时候,将点击事件丢失了
RecyclerView的适配器实现了差量更新,只需我们在数据变化的时候,通知指定位置的数据发生改变,
RecyclerView提供了默认的动画系统

RecyclerView的多布局

0。getItemViewType()返回布局id
1。数据源要有一个布局id的字段
2。ViewHolder 持有所有的view控件
3。getItemViewType根据返回布局id返回相应布局给onBindViewHolder

RecyclerView的加载刷新

RecyclerView结合PullToRefresh使用工具类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值