RecyclerView
-
RecyclerView是什么?
容器性控件
支持线性布局、网格布局、瀑布流布局
-
RecyclerView的用法是什么?
布局文件:
1. 主布局文件中添加<RecyclerView> 2. 创建子项布局文件,并对其内部控件设置id
代码:
- 创建实体类(如果有需求)
- 创建适配器
- 创建一个新类:AddressBookAdapter继承RecyclerView.Adapter,并且将泛型指定为
AddressBookAdapter.ViewHolder。 一开始这么写会报错,因为ViewHolder是一个内部类,我们
还没有定义。所以接下来我们就定义内部类。这个内部类的作用主要是通过传入的一个参数view,
从而获取RecyclerView子项的最外层布局,然后通过findViewById()方法获取控件的实例(在本例
子中获取的是ImageView和TextView)。- 定义全局变量mList,生成构造函数。 这个构造函数是用来把要展示的数据源(图片、名字)传进
来,并赋值给mList。- 重写onCreateViewHolder()方法 这个函数主要是用来加载子项布局(addressbook_item),然后
创建ViewHolder实例并把子项布局传入到构造函数中,最后返回ViewHolder实例。- 重写onBindViewHolder()方法 这个方法是用来对传入的子项布局进行赋值的,也就是说当子项布
局被传入进来,是它让布局有了名字、图片。它会在每个布局被滚动到屏幕的时候执行。在本例子
中,是通过position参数得到当前项的AddressBook实例,然后再把数据设置到ViewHolder的
ImageView和TextView里。- 重写getItemCount()方法 这个方法主要是用来返回数据源的长度,也就是告诉RecyclerView他有多
少个子项
- 在活动中创建并设置适配器
- 在活动中设置排列方式及分隔线
- 设置点击事件
ViewPager2
-
ViewPager2的用法?
布局文件:1. 主布局文件中添加<ViewPager2> 2. 创建子项布局文件,并对其内部控件设置id
代码:
- 创建实体类(如果有需求)
- 创建适配器
- 在活动中创建并设置适配器
- 在活动中设置排列方式及分隔线
- 设置点击事件