前言
开发过程中我们经常需要替换默认的字体,来达到更好的显示效果。
字体引用
我们下载的字体包
其中HarmonyOS_Sans_SC_Regular.ttf
是标准粗细的字体
我们引用这个就行。
字体文件需要放置在 app/src/main/res/font
目录下。
文件名称只能有小写字母和数字,注意改名。
全局字体
1 | val displayMetrics = LocalContext.current.resources.displayMetrics |
主要生效部分
1 | // 创建自定义字体族 |
不同的字重
设置字体的时候,我们可以引用不同字重的字体,也可以只引用标准字体。
当引用了不同字重字体的时候,会自动使用对应字重的字体。
1 | val customFontFamily = FontFamily( |
当你设置的 FontWeight
与字体文件本身的字重不一致时,系统会尝试通过算法来模拟加粗效果。
如果你使用的是普通字重(FontWeight.Normal
)的字体文件,但在代码中设置了 FontWeight.Bold
,系统会对文字进行一些简单的处理,如增加笔画的宽度。
设置不生效
Text中不要设置这个,虽然没有设置字体,也会导致全局设置不生效。
1 | style = TextStyle( |
附录
字体粗细
1 | /** Alias for [W100] */ |