web-dev-qa-db-ja.com

TabLayout重心が機能していません

TabLayoutがあり、タブを画面の中央に表示します。以下は私のTabLayoutのXMLです。

<Android.support.design.widget.TabLayout
            Android:id="@+id/tabs"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:layout_gravity="center"
            Android:background="@color/white"
            app:tabGravity="center"
            app:tabIndicatorColor="@color/about_tab_selected"
            app:tabIndicatorHeight="4dp"
            app:tabMode="scrollable"
            app:tabPaddingEnd="20dp"
            app:tabPaddingStart="20dp"
            app:tabSelectedTextColor="@color/about_tab_selected"
            app:tabTextAppearance="@style/UGTabTextAppearance"
            app:tabTextColor="@color/about_tab_unselected" />

ただし、タブはまだ左側に表示されており、アクティビティの中央に配置できません。

私が得ているのはこれです: enter image description here

私が本当に欲しいのは: enter image description here

誰かが私がここで間違っていることを教えてもらえますか? XMLの残りの部分に関する追加情報が必要な場合は、お知らせください。

9
Rachit

タブの重力はMODE_FIXEDにのみ影響します。

考えられる解決策の1つは、layout_widthをwrap_contentに設定し、layout_gravityをcenter_horizo​​ntalに設定することです。

17
Sushobh Nadiger

さて、問題はlayout_width="match_parent"にありました

それをlayout_width="wrap_content"に変更すると、問題は解決しました。

最終的なXMLは次のとおりです。

<Android.support.design.widget.TabLayout
        Android:id="@+id/tabs"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="center"
        Android:background="@color/white"
        app:tabGravity="center"
        app:tabIndicatorColor="@color/about_tab_selected"
        app:tabIndicatorHeight="4dp"
        app:tabMode="scrollable"
        app:tabPaddingEnd="20dp"
        app:tabPaddingStart="20dp"
        app:tabSelectedTextColor="@color/about_tab_selected"
        app:tabTextAppearance="@style/UGTabTextAppearance"
        app:tabTextColor="@color/about_tab_unselected" />
2
Rachit