Sto usando TabLayout e viewPager con un'opzione per scorrere il viewPager verso sinistra o destra per navigare tra le pagine.Cambiare viewPager swipe direzione
Il mio problema è che la mia applicazione è basata su RTL (da destra a sinistra) e la direzione di scorrimento è invertita.
Sto provando a cambiare la direzione di scorrimento dalla versione predefinita alla versione invertita. Ho cercato molto sul web e non sono riuscito a trovare un modo per farlo.
sto usando android.support.v4.view.ViewPager;
ed è così che ho inizializzare il mio TabLayout con la viewPager:
// View Page Adapter
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
//View Page Adapter Configuration
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
viewPager.setOffscreenPageLimit(3);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
Sommario: Attualmente, Quando sto strisciando la viewPager verso sinistra, mostra la pagina successiva. in RTL, quando si scorre il viewPager a destra, mostra la pagina successiva.
Potrebbe essere difficile da capire, ma eccolo qui. Swiping destra mostra la pagina successiva
mentre ho bisogno scorrendo a destra per visualizzare la pagina precedente .
Non si tratta solo di avere il contenuto di 'PagerAdapter' nell'ordine inverso? – CommonsWare
Perché non solo setCurrentItem sull'ultimo elemento? – Chris
@CommonsWare E cosa succede quando passo il dito verso sinistra? Non ho bisogno di cambiare onScrollListener per questo? (stessa risposta a te Chris) Devo cambiare la direzione di scorrimento di viewPager (scorrendo a destra - pagina successiva, scorrendo a sinistra - pagina precedente). ora è invertito. Le schede funzionano perfettamente se ne seleziono una. lo swip di viewPager non lo fa. – Eliran