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

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

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


person N Sharma    schedule 27.02.2016    source источник
comment
TabLayout содержит в себе PagerTabStrip.   -  person tiny sunlight    schedule 09.03.2016


Ответы (2)


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

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

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

Вкладка

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

PagerTabStrip

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

  1. TabLayout – это часть действия/фрагмента, находящаяся за пределами ViewPager, и вместо этого вы прикрепляете его к одному из них. Прокручивается отдельно от страниц.
  2. PagerTabStrip является дочерним элементом ViewPager. Вкладки прокручиваются вместе со страницей.
person OneCricketeer    schedule 02.03.2016

Из 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

person Ajay Pandya    schedule 27.02.2016