20

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

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

4

2 に答える 2

35

ビジュアルだけ比較すると…

TabLayoutは、 Android 5.0 で廃止されたActionBar タブを置き換える重要な概念です。
拡張されてHorizontalScrollViewいるため、テキスト、アイコン、またはカスタム ビューを含むタブを水平方向に追加し続け、ページングなしで直線的にスクロールできます。

TabLayoutは、のような の一部ではなく、 にアタッチする方法setupWithViewPager(ViewPager viewPager)を提供します。ViewPagerViewPagerPagerTabStrip

タブレイアウト

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

PagerTabStrip

要約すると、違いは(ビジュアルを除く)です。

  1. ATabLayoutはの外側のActivity/Fragment の一部であり、ViewPager代わりに 1 つにアタッチします。ページとは別にスクロールします。
  2. APagerTabStripの子要素ですViewPager。タブはページとともにスクロールします。
于 2016-03-02T18:52:00.023 に答える
8

Developer.androidから、TabLayout はマテリアル デザインの概念であり、PagerTabStrip よりも新しい概念であることがわかっていると言えます。

両方の基本階層を確認できます

1) タブレイアウト階層

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

詳細については、 TabLayoutPagerTabStripを確認してください。

于 2016-02-27T10:46:59.500 に答える