HarmonyOS 应用内调整全局字体大小

应用内调整全局字体大小,是否跟随系统字体大小。有没有相应的api,目前项目中需求是在应用内改变字体大小,但是需要重启应用,期望不需要重启应用也能实现字体大小的改变,目前提供的方法是需要每一个可改变的字体都用 @State去定义一个变量进行绑定, 该方法太繁琐且工作量大,不利于维护,期望有更方便快捷的方式可以实现需求

HarmonyOS
2024-12-24 15:38:12
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

可以使用PersistentStorage持久化存储UI状态。

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

//Index.ets
import { router } from '@kit.ArkUI'
PersistentStorage.persistProp('aFont', 20);
@Entry
@Component
struct Index {
  @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('aFont') aFont: number = 20

  build() {
    Row() {
      Column() {
        // 应用退出时会保存当前结果。重新启动后,会显示上一次的保存结果
        Text(`${this.aFont}`)
          .fontSize(this.aFont)
          .onClick(() => {
            this.aFont += 1;
          })
      }
      .width('100%')
      .height('100%')
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-persiststorage-V5#%E4%BB%8Eappstorage%E4%B8%AD%E8%AE%BF%E9%97%AEpersistentstorage%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E5%B1%9E%E6%80%A7

分享
微博
QQ
微信
回复
2024-12-24 18:05:19
相关问题
应用字体大小设置调整
964浏览 • 1回复 待解决
全局设置字体大小方案咨询
1063浏览 • 1回复 待解决
HarmonyOS List中字体大小全局修改
837浏览 • 1回复 待解决
HarmonyOS 应用字体大小怎么设置?
1108浏览 • 1回复 待解决
HarmonyOS 应用字体大小调节
1713浏览 • 1回复 待解决
HarmonyOS webview字体大小设置
726浏览 • 1回复 待解决
HarmonyOS 字体大小如何设置?
2107浏览 • 1回复 待解决
HarmonyOS 怎么获取系统字体大小
1430浏览 • 1回复 待解决
HarmonyOS RichText无法指定字体大小
719浏览 • 1回复 待解决
HarmonyOS 字体大小适配方案
2758浏览 • 1回复 待解决
鸿蒙IndexBar如何设置字体大小
7568浏览 • 1回复 待解决
HarmonyOS RichText组件无法设置字体大小
745浏览 • 1回复 待解决
HarmonyOS 如何获取设置中系统字体大小
1234浏览 • 1回复 待解决
HarmonyOS 关于应用字体调整
1555浏览 • 1回复 待解决
HarmonyOS 一行文案不同字体大小
685浏览 • 1回复 待解决