私は、ViewPagerでPagerTabStrip
とTabLayout
を使用して追加できるようにタブを追加するアプリに取り組んでいます。
それは私には同じように見えますが、違いはないようですが、両者には多少の違いがあるため、これらは2つのクラスです。では、それらの主な違いは何ですか?
ビジュアルを比較するだけ...
TabLayout
は、廃止予定の ActionBar tabs を置き換えたマテリアルコンセプトで、Android 5.0。
それはHorizontalScrollView
を拡張するので、テキスト、アイコン、またはカスタムビューを含むことができる水平方向のタブを追加し続け、ページングなしで直線的にスクロールすることができます。
TabLayout
は setupWithViewPager(ViewPager viewPager)
attach to ViewPager
にではなく メソッドを提供しますViewPager
のようなPagerTabStrip
の一部.
/ = [-+-] = /
PagerTabStrip
は、ViewPagerの現在のページのインジケーターであり、「ViewPagerウィジェットの子ビューとして使用することを目的としています」。各タブは個別に水平方向にスクロール可能ではなく、ページの一部であるため、そのスクロールはTabLayout
のようには機能しません。
要約すると、違いは(ビジュアルは別として)です。
TabLayout
は、ViewPager
の外側の Activity/Fragment の一部であり、代わりにそれをアタッチします。ページとは別にスクロールします。PagerTabStrip
は、ViewPager
の子要素です。タブはページとともにスクロールします。Developer.Android から、TabLayoutはマテリアルデザインのコンセプトであり、ご存じのとおり、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 および PagerTabStrip を確認してください