Android设计支持库:TabLayout选项卡文本单行显示

7

我想把选项卡文本(最多8个字符)放在单行中

enter image description here

我给TabLayout元素添加了自定义样式

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
    <item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="android:maxLines">1</item>
    <item name="android:singleLine">true</item>
</style>

仍然无法解决。我也尝试过。

 <android.support.design.widget.TabLayout
  app:tabTextAppearance="@style/MyCustomTabTextAppearance"
  ..
  ..
  />

https://guides.codepath.com/android/google-play-style-tabs-using-tablayout - Pratik Butani
1
这个可能是你正在寻找的解决方案。 :) - Ye Min Htut
只需添加 app:tabMode="scrollable" 到 <android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> - tiny sunlight
通过这个答案解决了我的问题 请查看此答案 - Android Dev
3个回答

18

只需将app:tabMode="scrollable"添加到TabLayout中即可;

<android.support.design.widget.TabLayout 
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs" 
android:layout_width="match_parent" 
app:tabMode="scrollable"
android:layout_height="wrap_content" /> 

-1

修改以下代码

<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="android:maxLines">1</item>
    <item name="android:singleLine">true</item>
</style>

转换为以下内容

<style name="MyCustomTabTextAppearance" parent="TextAppearance.AppCompat.Button">
    <item name="android:maxLines">1</item>
    <item name="android:singleLine">true</item>
</style>

将此样式添加为TabLayout XML的主题。 - varotariya vajsi

-3
将以下代码添加到TabLayout自定义样式中即可:

<item name="android:maxLines">1</item>


我尝试使用这个,但它没有起作用。 - Abraham Mathew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接