HarmonyOS鸿蒙Next中如何全局调整APP应用内字体大小

HarmonyOS鸿蒙Next中如何全局调整APP应用内字体大小 在鸿蒙NEXT(HarmonyOS NEXT)的ArkTS环境中,目前似乎没有直接类似于Android系统中configuration.fontScale的设置来实现全局字体缩放。在鸿蒙NEXT中,字体大小的调整通常需要通过代码来实现,而且这种调整更多是针对特定组件或页面,而不是全局性的。请问,NEXT中,应用内字体大小设置调整,有没有Android中 configuration.fontScale 全局配置项,而不是每个页面,每个控件添加字体大小变量去控制字体大小放大缩小。

3 回复

暂时没有全局配置项,可以用动态属性,自定义class实现AttributeModifier接口,把text需要固定的样式定义,然后在页面的Text地方调用。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-attribute-modifier

可以使用PersistentStorage持久化存储UI状态,将aFont持久化到本地,@StorageLink(‘aFont’) aFont 保证修改刷新,以及修改后持久化到本地,导航栈中已存在的也会刷新,关闭app重新打开也会保存。

//Index.ets

import { router } from '@kit.ArkUI'

PersistentStorage.persistProp('aFont', 20);

@Entry
@Component
struct Index {
  [@StorageLink](/user/StorageLink)('aFont') aFont: number = 20

  build() {
    Row() {
      Column() {
        // 应用退出时会保存当前结果。重新启动后,会显示上一次的保存结果
        Text(`${this.aFont}`)
          .fontSize(this.aFont)
          .onClick(() => {
            this.aFont += 1;
          })

        Button('push')
          .onClick(() => {
            router.pushUrl({url:'pages/Page1'})
          })
      }
      .width('100%')
      .height('100%')
    }
  }
}

//Page1.ets
@Entry
@Component
struct Page1 {
  [@StorageLink](/user/StorageLink)('aFont') aFont: number = 20

  build() {
    Row() {
      Column() {
        // 应用退出时会保存当前结果。重新启动后,会显示上一次的保存结果
        Text(`${this.aFont}`)
          .fontSize(this.aFont)
          .onClick(() => {
            this.aFont += 1;
          })
      }
      .width('100%')
      .height('100%')
    }
  }
}

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-persiststorage-V5#从appstorage中访问persistentstorage初始化的属性

更多关于HarmonyOS鸿蒙Next中如何全局调整APP应用内字体大小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,全局调整APP应用内字体大小可以通过系统设置实现。具体步骤如下:

  1. 进入系统设置:打开设备的“设置”应用。
  2. 选择显示与亮度:在设置菜单中找到并点击“显示与亮度”选项。
  3. 调整字体大小:在“显示与亮度”页面中,找到“字体大小”选项,点击进入后可以通过滑动条调整系统字体大小。
  4. 应用全局调整:调整后的字体大小会立即应用到所有支持动态字体调整的APP中。

此外,开发者也可以在APP中通过ohos.global.configuration模块的Configuration类来获取和设置字体缩放比例,确保应用内的字体能够根据系统设置进行动态调整。例如:

import configuration from '@ohos.global.configuration';

let config = configuration.getConfiguration();
let fontScale = config.fontScale;
console.log(`Current font scale: ${fontScale}`);

通过这种方式,APP可以根据系统字体设置自动调整内部字体大小,确保用户体验的一致性。

在HarmonyOS鸿蒙Next中,全局调整APP应用内字体大小可以通过以下步骤实现:

  1. 打开设置:进入设备的“设置”应用。
  2. 选择显示和亮度:在设置菜单中找到并点击“显示和亮度”选项。
  3. 调整字体大小:找到“字体大小”选项,通过滑动条调整字体大小。系统会根据所选大小自动调整所有应用内的字体。

注意:部分应用可能不支持全局字体调整,需在应用内单独设置。

回到顶部