2016-02-27 13 views
15

Sto lavorando su un'app in cui voglio aggiungere schede in modo che possano essere aggiunte utilizzando PagerTabStrip e TabLayout con ViewPager.Differenza tra PagerTabStrip e TabLayout

Mi sembra uguale senza alcuna differenza, ma immagino ci sia qualche differenza tra loro, quindi sono due classi per questo. Quindi qual è la principale differenza tra loro?

+0

TabLayout cotainer a PagerTabStrip in esso. –

risposta

22

Proprio confrontando le immagini ...

TabLayout è un concetto di materiale che ha sostituito il deprecato ActionBar tabs in Android 5.0.
Si estende HorizontalScrollView, quindi è possibile continuare ad aggiungere schede in senso orizzontale che possono includere testo, icone o viste personalizzate e scorrerle linearmente senza impaginare.

TabLayout fornisce il metodo di setupWithViewPager(ViewPager viewPager)attribuiscono alla un ViewPager invece di essere parte del ViewPager come il PagerTabStrip.

TabLayout

Un PagerTabStrip è più di un indicatore per la pagina corrente di un ViewPager, ed "è destinato ad essere utilizzato come una visione infantile di un widget ViewPager". Lo scorrimento non funziona come lo TabLayout poiché ogni scheda è parte della pagina invece di scorrere orizzontalmente singolarmente.

PagerTabStrip

In sintesi, le differenze sono (a parte grafica).

  1. Un TabLayout è parte della attività/Frammento, al di fuori della ViewPager, e voi invece allegare a uno. Scorre separatamente dalle pagine.
  2. A PagerTabStrip è un elemento figlio di ViewPager. Le schede scorrono con la pagina.
8

Dal Developer.android Posso dire che TabLayout è il concetto di design del materiale e come tutti sanno che è un nuovo concetto rispetto al PagerTabStrip.

È possibile controllare la gerarchia di base sia per

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 

Per maggiori dettagli verifica TabLayout e PagerTabStrip