PagerTabStrip和TabLayout之间的区别

时间:2016-02-27 10:12:20

标签: android android-tablayout pagertabstrip

我正在开发一个应用程序,我想在其中添加标签,以便可以使用PagerTabStripTabLayout与ViewPager一起添加。

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

2 个答案:

答案 0 :(得分:29)

只是比较视觉效果......

TabLayout是一个重要概念,取代了Android 5.0中已弃用的ActionBar tabs 它扩展了HorizontalScrollView,因此您可以不断水平添加标签,其中包括文本,图标或自定义视图,并可以线性滚动它们而无需分页。

TabLayout提供了setupWithViewPager(ViewPager viewPager)方法附加到 ViewPager而不是 ViewPager的一部分比如PagerTabStrip

TabLayout

PagerTabStrip更多地是ViewPager当前页面的指示符,并且"它旨在用作ViewPager小部件的子视图"。滚动它不像TabLayout,因为每个标签都是页面的一部分,而不是单独水平滚动。

PagerTabStrip

总之,差异是(除了视觉效果)。

  1. TabLayout之外,ViewPager活动/片段的一部分,而是将其附加到一个。它与页面分开滚动。
  2. PagerTabStrip ViewPager 的子元素。选项卡随页面滚动。

答案 1 :(得分:8)

Developer.android我可以说TabLayout是材料设计概念,并且所有人都知道它是比PagerTabStrip更新的概念。

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

1)TabLayout Hirarchy

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

2)PagerTabStrip Hirarchy

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

有关详情,请查看TabLayoutPagerTabStrip