HarmonyOS 鸿蒙Next 怎么全局设置字体 目前可用font.register注册字体但太麻烦需逐个设置 是否有全局设置方法

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 怎么全局设置字体
目前可用font.register注册字体但太麻烦需逐个设置 是否有全局设置方法

怎么全局设置字体,目前可以用font.register注册字体,但是这种方式太麻烦了,需要一个个设置,有没有可以全局设置的?

2 回复
在loadcontent注册完自定义字体,在组件上还是要一个一个去加fontfamily属性去使用自定义字体。

1、可以使用[@style](/user/style)装饰器

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-style-V5,这样子方便一点在单个页面或者组件里边管理自己的自定组件

2、动态属性可以跨页面定义一个属性多个页面去使用,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-attribute-modifier-V5

更多关于HarmonyOS 鸿蒙Next 怎么全局设置字体 目前可用font.register注册字体但太麻烦需逐个设置 是否有全局设置方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,全局设置字体的方法确实存在,但需要通过编程方式实现字体的全局注册,而非简单的配置项。以下是具体步骤:

  1. 准备字体文件:确保自定义字体文件(如.ttf或.otf格式)已被正确放置在项目的资源目录中,建议创建一个与pages目录同级的font目录来存放这些文件。

  2. 注册字体:在应用的入口文件(如EntryAbility.ets)中,通过编程方式注册这些字体。在onWindowStageCreate或aboutToAppear等生命周期函数中,调用font.registerFont方法。例如:

    font.registerFont({
        familyName: 'CustomFont',
        familySrc: '/font/custom_font.ttf'
    });
    

    或者使用:

    windowStages.getUIContext().getFont().registerFont({
        familyName: 'CustomFont',
        familySrc: $rawfile('font/custom_font.ttf')
    });
    
  3. 应用字体:注册完成后,整个应用将默认使用该字体,无需在每个Text组件中显式设置字体名称。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部