为 Switch 标签设置自定义字体
Setting custom font for Switch label
我已经在 Docs and this answer 的帮助下成功设置了应用程序范围的自定义字体。基本上我已经制作了一种新的字体样式并在我的 AppTheme
:
中引用了它
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
...
<item name="android:fontFamily">@font/custom_font</item>
<item name="fontFamily">@font/custom_font</item>
</style>
它正在工作,但不适用于 Switch 元素标签。正如用户 lxx 在链接的答案中指出的那样:
This doesn't set the font everywhere... e.g. if you have styles that
derive from Base.TextAppearance.AppCompat, it's not used there.
我不确定这是 Switch 没有自定义字体的原因。
那么如何将此自定义字体也应用到 Switch 元素?
设置switch字体如下:
switchObj.setSwitchTypeface(Typeface.createFromAsset(mContext.getAssets(), "custom_font.ttf"));
我已经在 Docs and this answer 的帮助下成功设置了应用程序范围的自定义字体。基本上我已经制作了一种新的字体样式并在我的 AppTheme
:
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
...
<item name="android:fontFamily">@font/custom_font</item>
<item name="fontFamily">@font/custom_font</item>
</style>
它正在工作,但不适用于 Switch 元素标签。正如用户 lxx 在链接的答案中指出的那样:
This doesn't set the font everywhere... e.g. if you have styles that derive from Base.TextAppearance.AppCompat, it's not used there.
我不确定这是 Switch 没有自定义字体的原因。
那么如何将此自定义字体也应用到 Switch 元素?
设置switch字体如下:
switchObj.setSwitchTypeface(Typeface.createFromAsset(mContext.getAssets(), "custom_font.ttf"));