如何在 Material Design TabLayout android 中更改字体大小?

How to change font size in Material Design TabLayout android?

我一直在尝试在线探索以设置 TabLayout TabItems 的字体大小 但其中 none 似乎对我有用。这是我上次尝试引用的

以下是我目前已经实现的东西, 不确定为什么不从样式中选择 textSize

在xml:

<com.google.android.material.tabs.TabLayout
                android:id="@+id/tabLayoutForgot"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/header_height"
                app:layout_constraintTop_toBottomOf="@+id/imageViewLogo"
                app:tabIndicatorColor="@color/text_color"
                app:tabSelectedTextColor="@color/text_color"
                app:tabGravity="fill"
                app:tabTextAppearance="@style/MyCustomTabLayout"
                app:tabMode="fixed"
                app:tabIndicatorFullWidth="false"
                app:tabTextColor="@color/text_color" />

在themes.xml:

<style name="MyCustomTabLayout" parent="@android:style/TextAppearance.Widget.TabWidget">
        <item name="textAllCaps">false</item>
        <item name="android:textSize">20sp</item>
        <item name="android:fontFamily">@font/roboto_medium</item>
        <item name="android:textColor">@color/text_color</item>
    </style>

这会执行 textAllCapsfontFamily 等所有其他操作,但似乎不需要 textSize.

感谢任何帮助。

你应该继承你的风格 TextAppearance.Design.Tab 先做个样式,

<style name="MyStyle" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">16sp</item>
</style>

然后像这样在您的 Tablayout 中使用它,

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

希望有用

好吧,我找到了解决问题的方法。

dimens.xml 中添加以下代码行不知何故对我有用。

<dimen name="design_tab_text_size_2line" tools:override="true">20sp</dimen>

尝试 stylecom.google.android.material.tabs.TabLayout

将主样式的parent添加为@style/Widget.MaterialComponents.TabLayout

tabTextAppearance 样式的 parent 添加为 @style/Widget.AppCompat.TextView

<style name="MyCustomTabLayout" parent="@style/Widget.MaterialComponents.TabLayout">
    <item name="tabSelectedTextColor">@color/black</item>
    <item name="tabTextColor">@color/purple_700</item>
    <item name="tabIndicatorColor">@color/black</item>
    <item name="tabTextAppearance">@style/TabText</item>
</style>

<style name="TabText" parent="@style/Widget.AppCompat.TextView">
    <item name="textAllCaps">false</item>
    <item name="android:textSize">20sp</item>
</style>

在Xml中:

<com.google.android.material.tabs.TabLayout
      android:id="@+id/tabLayoutForgot"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="10dp"
      app:tabGravity="fill"
      style="@style/MyCustomTabLayout"
      app:tabMode="fixed"
      app:tabIndicatorFullWidth="false"/>