如何在 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>
这会执行 textAllCaps
和 fontFamily
等所有其他操作,但似乎不需要 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>
尝试 style
到 com.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"/>
我一直在尝试在线探索以设置 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>
这会执行 textAllCaps
和 fontFamily
等所有其他操作,但似乎不需要 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>
尝试 style
到 com.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"/>