TabLayout重力中心不起作用

时间:2017-04-24 12:54:54

标签: android android-layout android-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其余部分的其他信息,请告诉我们。

2 个答案:

答案 0 :(得分:14)

Tab重力仅影响MODE_FIXED。

一种可能的解决方案是将layout_width设置为wrap_content,将layout_gravity设置为center_horizo​​ntal

答案 1 :(得分:1)

好的,问题出在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" />