Разница между PagerTabStrip и TabLayout

Я работаю над приложением, в которое хочу добавить вкладки, чтобы их можно было добавить с помощью PagerTabStrip а также TabLayout с ViewPager.

Это выглядит одинаково для меня без разницы, но я думаю, что есть некоторая разница между ними, поэтому они два класса для этого. Так в чем же главное отличие?

2 ответа

Решение

Просто сравнивая визуальные эффекты...

TabLayout является материальной концепцией, которая заменила устаревшие вкладки ActionBar в Android 5.0.
Расширяется HorizontalScrollView Таким образом, вы можете продолжать добавлять вкладки по горизонтали, которые могут включать в себя текст, значки или пользовательские представления, и прокручивать их линейно, без подкачки.

TabLayout обеспечивает setupWithViewPager(ViewPager viewPager) способ прикрепить к ViewPager вместо того, чтобы быть частью ViewPager словно PagerTabStrip,

TabLayout

PagerTabStrip это больше индикатор для текущей страницы ViewPager, и "он предназначен для использования в качестве дочернего представления виджета ViewPager". Прокрутка для него не действует как TabLayout поскольку каждая вкладка является частью страницы, а не индивидуально с горизонтальной прокруткой.

PagerTabStrip

Таким образом, различия есть (кроме визуальных).

  1. TabLayout является частью Деятельности / Фрагмента, вне ViewPager и вместо этого вы прикрепляете его к одному. Прокручивается отдельно от страниц.
  2. PagerTabStrip является дочерним элементом ViewPager, Вкладки прокручиваются вместе со страницей.

От 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

Для более подробной информации проверьте TabLayout и PagerTabStrip

Другие вопросы по тегам