HarmonyOS 自定义字体怎么设置?

字体怎么设置,比如Din字体、旁门正道标题体

阅读 569
1 个回答

自定义字体,registerFont

1.导入模块 import font from ‘@ohos.font’

2.配置以下内容:

aboutToAppear() {
  font.registerFont({
  familyName: $r('app.string.mediumFamilyName'), //设置注册的字体名称,命名按照app.string.XXX来命名即可
  familySrc: $r('app.string.mediumFamilySrc') //设置注册字体文件的路径,命名同上,app.string.XXX切勿相同
})
}

3.配置文件:需要在以下三个路径下的string.json中添加以下配置:

src/main/resources/base/element 、src/main/resources/en\_US/element、src/main/resources/zh\_CN/element

注意:以下内容全都需要添加到string.json中

{
  "name": "mediumFamilyName", //name后跟的是familyName的根路径名称
  "value": "name" //value后跟的name随机写,无硬性要求
}
{
  "name": "mediumFamilySrc", //name后跟的是familySrc的根路径名称
  "value": "/font/THSJinRongTi_Bold.otf" //value后跟的是xxx.otf的路径
}

4.在布局中使用,按照以下方式来使用

Text(this.message)
.fontSize(20)
.fontFamily($r('app.string.mediumFamilyName')) //注册的字体名称放入即可


demo代码:
import font from '@ohos.font'

@Entry
@Component
struct Index {
aboutToAppear() {
font.registerFont({
familyName: "condensed",
familySrc: 'font/din_condensed_bold.ttf'
})
}
build() {
Row() {
Text(" test 001").fontFamily('condensed').fontSize(30)
Text(" test 002").fontSize(30)
}
}
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进