android - 如何更改我的项目中的字体粗细,该项目具有所有文本视图的默认 fontFamily?
问题描述
我有一个项目,在这个项目中,我以 AppTheme 的风格为所有文本视图定义了 fontFamily。
fontFamily 是montserrat
但在我使用的文本视图中montserrat_semibold
,montserrat_regular
和montserrat_medium
。
<style name="AppTheme" parent="Theme.MaterialComponents.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:textViewStyle">@style/MontserratTextViewStyle</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="MontserratTextViewStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/montserrat</item>
</style>
如何在 textview 的不同 XML 中更改它们的权重?
解决方案
Hmm the only way I can think of doing that is to create multiple styles in your styles.xml
:
<style name="MontserratTextViewStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/montserrat</item>
</style>
<style name="MontserratTextViewSemiBoldStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/montserrat_semibold</item>
</style>
<style name="MontserratTextViewRegularStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/montserrat_regualr</item>
</style>
<style name="MontserratTextViewMediumStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/montserrat_medium</item>
</style>
Then for any TextView
which doesn't use the default montserrat
i.e. maybe you want montserrat_medium
:
<TextView
style="@style/MontserratTextViewMediumStyle"
....
/>
推荐阅读
- java - 使用 PDFBox 格式化数字
- vim - 我应该按什么键来激活 vim 中的 c_CTRL-D?
- python-3.x - 如何将 coreapi 客户端与 django rest 框架一起使用?
- java - 我有一个在 IE 中打开但不是在 chrome 中打开的 URL
- sql - 如果相似数据组中的一个值为空,则按分组并更改值
- c# - 使用 RemoteWebDriver 在 Firefox 68.0 和 Safari 12.1.1 中选择表格行时出现问题
- python - 如何从数据框的给定图像计算 JKRowling 的 text_reviews_counts 总数?
- loops - XSL 循环未在每个级别正确发生
- amazon-web-services - 几次成功请求后 Hadoop S3 驱动程序 403 错误
- ubuntu - Windows 7 上的 Oracle VM 虚拟机启动错误:lvmetad 尚未激活