一、ViewPager
android扩展包v4包中的类,是允许左右翻转带数据的页面
ViewPager经常用来连接Fragment,它很方便管理每个页面的生命周期,使用ViewPager管理Fragment是标准的适配器实现。
最常用的实现一般有FragmentPagerAdapter类和FragmentStatePagerAdapter类
相关知识点:
1、ViewPager类直接继承了ViewGroup类,因此它一个容器类,可以添加其他的view类,用于创建包含标签的滑动视图
理解:滑动视图:在同级屏幕(如标签页)之间进行导航,即多个页面的滑动
2、ViewPager类需要一个PagerAdapter适配器类给它提供数据(这点跟ListView一样需要数据适配器Adapter)
二、ViewPager2(推荐使用)
ViewPager2是Android中更先进和功能更丰富的滑动页面控件,具有更高的性能和更多的功能。如果需要实现横向和竖向滑动、懒加载等特性,推荐使用ViewPager2。
ViewPager2 | ViewPager | |
实现方式 | 内部实现是RecyclerView,性能更高 | 通过继承ViewGroup实现 |
滑动方向 | 横向或竖向滑动 | 只能横向滑动 |
Adapter适配器 | 只有一个适配器FragmentStateAdapter,继承自RecyclerView.Adapter | 有两个适配器,FragmentStatePagerAdapter(不可以缓存)和FragmentPagerAdapter(可以缓存),均继承自PagerAdapter。 |
懒加载 | 内部实现了懒加载,默认不进行预加载,通过Lifecycle对Fragment的生命周期进行管理 | 需要自己实现懒加载 |
功能支持 | ViewPager2提供了一些新的功能,如无从右到左(RTL)的布局支持和停用用户输入的功能(setUserInputEnabled、isUserInputEnabled) |
二、操作步骤
1.在xml文件中添加ViewPager2
每个滑动视图的xml文件都要添加
- ViewPager2 < RecyclerView
- ViewPager2能做到的,RecyclerView都能做到