2016-02-27 2 views
15

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

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

+0

TabLayout cotainer a PagerTabStrip в нем. –

ответ

22

Just сравнение визуальных ...

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

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

TabLayout

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

PagerTabStrip

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

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

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

Смежные вопросы