Sfortunatamente il metodo calculateScrollXForTab()
di TabLayout è privato e quindi non sostituibile da sottoclassi. In entrambi i casi è possibile copiare il TabLayout fonte nel progetto, poi eventualmente estenderla con la classe, e cambiare il metodo di calculateScrollXForTab()
in questo modo:
private int calculateScrollXForTab(int position, float positionOffset) {
if (mMode == MODE_SCROLLABLE) {
View final selectedChild = mTabStrip.getChildAt(position);
// LoG.i ("scrollTo" String.valueOf ((int) selectedChild.getLeft()));
return (int) selectedChild.getLeft();
}
return 0;
}
Ciò restituisce il valore del limite sulla sinistra della scheda selezionata, quindi lo scorrimento è forzato a quel valore. Le linguette dell'estrema destra rimarranno fisse nella posizione se selezionate perché la pergamena blocca lo scorrimento fino ai limiti del bambino.
ho provato e funziona, anche se ho dovuto risolvere due problemi con una CompatTextView non si trovano in android.support.v7.internal.widget e il metodo setupWithViewPager()
che non esiste nella fonte a mia disposizione (I pensa una questione di versione)
Cosa intendevi per keyline? –
"Keyline" è un termine utilizzato in https://www.google.com/design/spec/components/tabs.html, in Android Design Support Library è dichiarato tramite 'app: tabContentStart'. –