我正在使用DesignSupportLibrary(v22.2.0)并希望TabLayout中的选项卡具有相同的宽度 - 无论选项卡文本长度如何。我尝试过MODE_FIXED,但它仍然显示不同宽度的标签。这是xml:
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabMode="fixed"/>
答案 0 :(得分:7)
如果要为每个选项卡指定最小宽度,可以按样式设置:
<style name="MyTabLayoutStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="tabMinWidth">100dp</item>
</style>
然后将主题设置为此样式(您也可以删除tabMode属性):
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/MyTabLayoutStyle"/>
或者,您可以直接在TabLayout上设置tabMinWidth:
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabMinWidth="100dp"/>
另外请注意:除非您定义TabLayout的layout_width(而不是使用“wrap_content”),否则看起来MODE_FIXED无法正常工作。但是,选项卡仍将仅展开以匹配最宽的选项卡(由最长文本长度确定)。因此,如果您定义的宽度大于生成的标签。选项卡右侧将有一个空白区域。