如何使用粗体字创建自定义字体系列
如何使用粗体字创建自定义字体系列
我正在尝试根据这个文档https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html创建自定义字体系列。问题是,在XML中没有粗体属性,所以我无法在程序中设置它。是否可以在XML中设置字体?
问题的原因:需要创建一个自定义字体族,并且其中包含粗体字体。
解决方法:根据文档,将粗体的fontWeight值设置为700。在字体族的示例中,需要添加一个定义粗体的元素。如果使用支持库,则需要添加app:font属性。
整篇文章如下:
在创建自定义字体族时,如果需要包含粗体字体,可以按照以下步骤操作:
1. 将fontWeight的值设置为700,即表示粗体。根据字体资源文档中的说明,最常用的fontWeight值为400表示普通字体,700表示粗体。
2. 在字体族示例中,如lobster字体族,可以使用以下代码来添加粗体字体元素:
<!-- 粗体 --> <font android:fontStyle="normal" android:fontWeight="700" android:font="/lobster_bold" />
3. 如果使用支持库,可以使用以下代码来添加粗体字体元素:
<!-- 粗体 --> <font app:font="/lobster_bold" app:fontStyle="normal" app:fontWeight="700" />
需要注意的是,粗体样式的定义是通过fontWeight="700"来实现的,而不是通过fontStyle。
对于是否需要同时添加app
和android
前缀,根据测试结果,在API 26和28上只使用app
前缀也可以正常工作。根据文档中的说明,支持库只需要使用app
命名空间即可。