我正在使用
Android设计支持库中的TabLayout并想要设置其文本样式(标题).特别是大胆.如何在XML中实现这一点?
<android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="match_parent" app:tabTextColor="@color/white" app:tabSelectedTextColor="@color/white" app:tabIndicatorColor="@color/accent" android:layout_height="wrap_content" app:tabIndicatorHeight="3dp" />
解决方法
首先,必须将其添加到styles.xml:
<style name="TabLayoutTextStyle"> <item name="android:textSize">16sp</item> <item name="android:textStyle">bold</item> </style>
即使您不想更改文本大小,也必须将其包含在样式中,否则不会显示任何内容.
然后必须使用app:tabTextAppearance而不是style属性将样式应用于TabLayout!
<android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="match_parent" app:tabTextColor="@color/white" app:tabSelectedTextColor="@color/white" app:tabIndicatorColor="@color/accent" android:layout_height="wrap_content" app:tabIndicatorHeight="3dp" app:tabTextAppearance="@style/TabLayoutTextStyle" />
要启用allcaps,您可以将以下内容添加到TabLayoutTextStyle:
<item name="android:textAllCaps">true</item>