0
votes

Comment afficher la barre de défilement pour tablayout?

J'ai besoin d'afficher une barre de défilement sur une disposition d'onglet à défilement horizontal.

J'ai essayé ce qui suit sans succès:

        <com.google.android.material.tabs.TabLayout
                    android:id="@+id/tabLayout"

                    app:tabMode="scrollable"
                    android:scrollIndicators="bottom"
                    android:scrollbarTrackHorizontal="@color/black"
                    android:scrollbars="horizontal"
                    android:scrollbarSize="2dp"
                    android:isScrollContainer="true"
                    android:scrollbarFadeDuration="0"
                    android:scrollbarAlwaysDrawHorizontalTrack="true"
                    android:scrollbarStyle="insideOverlay"
                    android:scrollbarThumbHorizontal="@android:color/darker_gray"

    //Not relevant parts below
   app:tabSelectedTextColor="@color/blue"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    app:layout_constraintTop_toTopOf="parent"
                    app:layout_constraintLeft_toLeftOf="parent"
                    app:layout_constraintRight_toRightOf="parent"
                    app:tabTextAppearance="@style/TabTextAppearance"
                    android:background="@color/white"
                    android:visibility="visible"
                    android:backgroundTint="@color/very_light_gray"
                    app:tabIndicatorColor="@color/blue"/>


4 commentaires

couvrir votre TabLayout avec horizontalscrollview. Et définir des styles


vous voulez dire, placez le tablayout dans un parent horizontalscrollview?


oui c'est ce que je veux dire


Je peux obtenir la barre de défilement horizontale pour montrer si j'ajoute un parent scollview horizontal, mais le problème est que la méthode de tablayout: setScrollPosition () ne fait pas défiler visiblement le tablayout jusqu'à la position correcte (bien que l'onglet sélectionné soit mis à jour).


3 Réponses :


1
votes

Essayez de régler la hauteur de l'indicateur.

app:tabIndicatorHeight="5dp" 


1 commentaires

non, cela définit la hauteur de l'indicateur d'onglet actif. Je veux dire l'indicateur de position de défilement%.



0
votes

juste ce code: app: tabMode = "scrollable"


0 commentaires

0
votes

Utilisez ce code:

tabLayout.setHorizontalScrollBarEnabled(true);


0 commentaires