PagerTabStrip和TabLayout之间的区别

N S*_*rma 20 android pagertabstrip android-tablayout

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

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

cri*_*007 32

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

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

TabLayout提供setupWithViewPager(ViewPager viewPager)到方法附加到一个ViewPager,而不是被的一部分ViewPagerPagerTabStrip.

TabLayout

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

PagerTabStrip

总之,差异是(除了视觉).

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


Aja*_*dya 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
Run Code Online (Sandbox Code Playgroud)

2)PagerTabStrip Hirarchy

java.lang.Object
   ?    android.view.View
       ?    android.view.ViewGroup
           ?    android.support.v4.view.PagerTitleStrip
               ?    android.support.v4.view.PagerTabStrip
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请查看TabLayoutPagerTabStrip