web-dev-qa-db-ja.com

PagerTabStripとTabLayoutの違い

私は、ViewPagerでPagerTabStripTabLayoutを使用して追加できるようにタブを追加するアプリに取り組んでいます。

それは私には同じように見えますが、違いはないようですが、両者には多少の違いがあるため、これらは2つのクラスです。では、それらの主な違いは何ですか?

20
N Sharma

ビジュアルを比較するだけ...

TabLayout は、廃止予定の ActionBar tabs を置き換えたマテリアルコンセプトで、Android 5.0。
それはHorizontalScrollViewを拡張するので、テキスト、アイコン、またはカスタムビューを含むことができる水平方向のタブを追加し続け、ページングなしで直線的にスクロールすることができます。

TabLayoutsetupWithViewPager(ViewPager viewPager) attach to ViewPagerではなく メソッドを提供しますViewPagerのようなPagerTabStripの一部.

/ = [-+-] = /TabLayout

PagerTabStripは、ViewPagerの現在のページのインジケーターであり、「ViewPagerウィジェットの子ビューとして使用することを目的としています」。各タブは個別に水平方向にスクロール可能ではなく、ページの一部であるため、そのスクロールはTabLayoutのようには機能しません。

PagerTabStrip

要約すると、違いは(ビジュアルは別として)です。

  1. TabLayoutは、ViewPagerの外側の Activity/Fragment の一部であり、代わりにそれをアタッチします。ページとは別にスクロールします。
  2. PagerTabStripは、ViewPagerの子要素です。タブはページとともにスクロールします。
32
cricket_007

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 を確認してください

8
Ajay Pandya