RecyclerView比Android中的viewPager更好吗?

时间:2017-09-20 19:41:30

标签: android android-layout android-recyclerview android-viewpager

我一直在为viewPager阅读很多内容,发现它具有加载上一页和下一页的功能,但我们仍然可以通过 setUserVisibilityHint()停止此预加载,但仍然我们无法真正停止预加载,因为它只是黑客攻击。

关于RecyclerView我听说我们实际上有停止预加载的功能。因为我非常喜欢了解这些内容,因为它在处理tabLayout时对我的未来有所帮助。

由于

3 个答案:

答案 0 :(得分:2)

Android Support Library 24.2.0以来,您可以RecyclerView使用SnapHelper来获取ViewPager中的分页。

RecyclerView易于实施,并提供比ViewPager更多的功能。例如 - 您在ItemAnimator中有RecyclerView

此外,正如您在问题中所述,您可以在RecyclerView中控制预加载。

所以,RecyclerView应该是理想的选择。

注意:另外,性能方面,RecyclerView是更好的选择。 ViewPager在滑动时保持左右页面,即ViewPager页面一次又一次地创建(任何时候都有3页)。

但是使用RecyclerView,您可以使用ViewHolder来使用相同的页面项。因此,您将在任何时间只有一页的容器,而不是3页,您将填写当前页面的详细信息。这意味着您不必一次又一次地膨胀/创建页面容器。

答案 1 :(得分:2)

本文档将为您的要求提供良好的答案。 - 支持库的24.2.0版本引入了两个新类

  

SnapHelper

  

LinearSnapHelper

enter image description here应该用于处理RecyclerView中的捕捉。

enter link description here

答案 2 :(得分:1)

RecyclerView优于viewPager性能。另外,与viewPager相比,您可以在recyclerView中预加载数据。 Api版本24.2.0引入了以下类SnapHelper和LinearSnapHelp来为viewPager提供外观。

请参阅此链接,了解如何实施snaphelper snapHelper Example