android - 将 TabLayout 文本设为粗体

标签 android android-tablayout

我正在使用 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" />

要启用全大写,您可以将以下内容添加到 TabLayoutTextStyle:

<item name="android:textAllCaps">true</item>

关于android - 将 TabLayout 文本设为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35613863/

相关文章:

android - 如何在 GMT 中获取时区偏移量(如 GMT+7 :00) from android device?

android - 在 android TabLayout 上设置阴影

java - ViewPager 的 TabLayout 不显示标题

Android - 使用 fragment 控制我的选项卡布局中每个选项卡的内容

android - 为什么 Toolbar 会被 TabLayout 覆盖?

android - addOnPageChangeListener 未定义

android - 如何使用 Toast 提醒用户 OkHttp 请求返回了 200 以外的值?

android - 我如何从我的可绘制对象中找到在 imageview 中设置的图像?

android - 遍历布局中的 View 并更改字体

android - 带有过滤器的 ArrayAdapter 的 ArrayIndexOutOfBoundsException