Viewpager 与 ViewPager2 之间的优势或差异是什么

问题描述 投票:0回答:2

值得升级到viewpager2吗?我认为 Viewpager 很容易实现

android performance android-fragments
2个回答
12
投票

绝对值得升级到 ViewPager2

    如果提供常规 RecyclerView.Adapter 或子类(例如 ListAdapter),
  1. ViewPager2 将像 RecyclerView 一样重用(回收)视图

  2. ViewPager2 还提供数据集更改动画,例如如果 DiffUtil 用于通知适配器有关更改。

  3. Viewpager2 支持垂直方向.

阅读更多信息:https://developer.android.com/training/animation/vp2-migration


0
投票

Viewpager2
Viewpager
的高级版本,具有多种新功能。 Viewpager2 有效处理内存使用和平滑自定义转换的能力使其比 Viewpager 更容易选择。

Viewpager2的特点

  • 使用
    RecyclerView
    (视图将被回收因此使用低内存)(最重要的功能
  • RTL
    (从右到左)布局支持
  • Vertical
    方向支持
  • 通过使用
    CompositePageTransformer
  • 组合来支持多个页面转换器
  • dataset-change
    动画
  • 提供
    DiffUtil
    支持
  • notifyDataSetChanged
    作品
  • 更容易理解和实施

Viewpager2 中的变化

 PagerAdapter is now RecyclerView.Adapter

 FragmentStatePagerAdapter is now FragmentStateAdapter

 addPageChangeListener is now `registerOnPageChangeCallback`

ViewPager 与 ViewPager2

  1. 在 ViewPager 中,您只能使用水平滑动。 ViewPager 中没有垂直滑动,但在 ViewPager2 中,也支持垂直滑动。因此,您可以在 ViewPager2 中使用水平和垂直滑动。

    myViewPager2.orientation = ViewPager2.ORIENTATION_VERTICAL
    
  2. 您可以借助 ViewPage2 中的回收视图动态添加一些项目,但在 ViewPager 中,不支持回收视图。

  3. 在 ViewPager 中,没有所谓的从右到左布局支持,您必须自己翻转页面,但现在您可以使用 ViewPager2,因为它支持从右到左布局支持。

    android:layoutDirection="rtl"
    
© www.soinside.com 2019 - 2024. All rights reserved.