So fügen Sie eine horizontale Bildlaufanzeige für Android TabLayout hinzu
Ich möchte eine horizontale Bildlaufansicht für ein Android TabLayout hinzufügen .
Das TabLayout enthält mehrere Registerkarten und kann gescrollt werden. Aufgrund mehrerer Registerkarten sind einige davon auf den ersten Blick nicht sichtbar. Die Benutzer müssen scrollen, um zu den Registerkarten ganz rechts zu gelangen (die normalerweise ausgeblendet sind), sodass diese Registerkarten die Aufmerksamkeit des Benutzers nicht auf sich ziehen.
Der Gedanke ist, eine horizontale Bildlaufanzeige oder einen Pfeil zu haben, der anzeigt, dass sich rechts mehr Registerkarten befinden, damit die Benutzer scrollen können, um sie zu finden / zu verwenden.
Die Entwurfsidee besteht darin, einen scrollIndicator und keinen tabIndicator zu haben. Ich habe das folgende Bild von Google gefunden, das der Idee näher kommt.

Danke im Voraus,
Antworten
Sie können das erreichen, was Sie möchten, indem Sie das Registerkartenlayout in eine horizontale Bildlaufansicht wie diese einkapseln
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:scrollbars="horizontal">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
app:tabGravity="center"
app:tabIndicator="@color/white"
app:tabMode="fixed">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 1"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 2"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 3"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 4"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 5"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 6"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 7"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 8"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 9"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 10"/>
</com.google.android.material.tabs.TabLayout>
</HorizontalScrollView>
</LinearLayout>
Es wird so aussehen ......

Hallo du kannst App hinzufügen : tabMode = "scroll"
in einem Beispiel verwenden Sie es als
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scroll"
app:tabGravity="fill"/>
</android.support.design.widget.AppBarLayout>