如何在固定模式下将tabLaout的tabitem排列成多行?

How to arrange tabitems of tabLaout in multiple rows in fixed mode?

我想在 tabLayout 中有七个选项卡。它们将不可滚动。所以,我希望它们在多行中。但是,在固定模式下,它们都排成一行。我找到了一些不是直接答案而是解决方法的答案。有办法吗?

我的快照 XML:

<com.google.android.material.tabs.TabLayout
        android:id="@+id/layout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="fixed"
        app:tabSelectedTextColor="@color/colorGrayStandard"
        app:tabTextColor="@color/colorWhite">

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/device" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/wikipedia" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/wikia" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/youtube" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/goodreads" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/imdb" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/yelp" />
    </com.google.android.material.tabs.TabLayout>

这是 TabLayout 的文档:https://developer.android.com/reference/com/google/android/material/tabs/TabLayout

TabLayout provides a horizontal layout to display tabs.

这是文档中写的第一行,也是你对这个问题的回答。

TabLayout 做不到这一点。您可以使它们可滚动,仅此而已。您可以创建和使用很多变通方法而不会出现问题。

在上面的文档中,您可以找到 TabLayout 实际上可能实现的任何功能。如果您想创建解决方法,只需自己创建固定选项卡,创建侦听器,并使用片段在选项卡更改时更改您想要的视图。