PagerTabStrip 和 TabLayout 的区别

Difference between PagerTabStrip and TabLayout

我正在开发一个应用程序,我想在其中添加选项卡,以便可以使用 PagerTabStripTabLayout 以及 ViewPager 添加。

在我看来没有区别,但我想它们之间有一些区别,所以它们是两个 类。那么它们之间的主要区别是什么?

Developer.android 我可以说 TabLayout 是 material 设计概念,众所周知,它是比 PagerTabStrip 新的概念。

您可以检查两者的基本层次结构

1) TabLayout 层次结构

java.lang.Object
   ↳    android.view.View
       ↳    android.view.ViewGroup
           ↳    android.widget.FrameLayout
               ↳    android.widget.HorizontalScrollView
                   ↳    android.support.design.widget.TabLayout

2) PagerTabStrip 层次结构

java.lang.Object
   ↳    android.view.View
       ↳    android.view.ViewGroup
           ↳    android.support.v4.view.PagerTitleStrip
               ↳    android.support.v4.view.PagerTabStrip

查看更多详情TabLayout and PagerTabStrip

只是比较视觉效果...

TabLayout is a material concept that replaced the deprecated ActionBar tabs 在 Android 5.0.
它扩展了 HorizontalScrollView,因此您可以继续水平添加选项卡,其中可以包含文本、图标或自定义视图,并且可以线性滚动浏览它们而无需分页。

TabLayout 提供 setupWithViewPager(ViewPager viewPager) 方法 附加到 一个 ViewPager 而不是 [=49] 的一部分=] ViewPager 喜欢 PagerTabStrip

一个PagerTabStrip更像是一个ViewPager当前页面的指示符,"it is intended to be used as a child view of a ViewPager widget"。它的滚动不像 TabLayout 那样,因为每个选项卡都是页面的一部分,而不是单独水平滚动。

总而言之,差异是(视觉效果除外)。

  1. A TabLayout 是 Activity/Fragment 部分,在 ViewPager 之外,而您将其附加到其中一个。它与页面分开滚动。
  2. A PagerTabStripViewPager 的子元素。选项卡随页面滚动。