ViewPager2 和 ViewPager 的区别
- ViewPager2 API最大的变化是它现在使用RecyclerView。
- 使用 ViewPager2 需要迁移到 AndroidX,因为android.support库中不支持ViewPager2。
- FragmentStateAdapter 替换 FragmentStatePagerAdapter
- RecyclerView.Adapter 替代 PagerAdapter
- registerOnPageChangeCallback 替换 addPageChangeListener
作者:臭豆腐炒鸡蛋 链接:https://juejin.cn/post/6844904050140381191 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
和ViewPager进行对比
ViewPager2相比ViewPager做了哪些改变呢,下面对不同点进行了罗列: 采用registerOnPageChangeCallback() 代替addPageChangeListener()监听页面的变化 因为ViewPager2.java这个类被申明为fianl,无法继承它进行二次改造,不过可以copy一份进行修改加工 采用FragmentStateAdapter 替代FragmentStatePagerAdapter,采用 RecyclerView.Adapter 替代PagerAdapter; offScreenPageLimit新参数 新体验
ViewPager2 是用 RecyclerView来实现的,因此它的 Adapter 其实就是 RecyclerView 的 Adapter。
设置竖向滑动 只需要一行代码就能设置ViewPager2进行竖向方向的滑动:
java
viewPager2.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
页面滑动监听事件 上面说到viewPager2监听页面滑动只需要重写我们需要的方法即可
java
viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
}
});