HarmonyOS 鸿蒙Next Environment 使用不生效

HarmonyOS 鸿蒙Next Environment 使用不生效

在系统设置中修改语言、字体大小、字体粗细、暗黑模式等参数, 启动demo之后colorMode, fontScale变更均未生效, languageCode、fontWeightScale 可以获取到新更改的值

示例代码:

Environment.envProp('languageCode', 'en');
Environment.envProp('colorMode', ColorMode.DARK);
Environment.envProp('fontScale', 1);
Environment.envProp('fontWeightScale', 1);
// 从AppStorage获取单向绑定的languageCode的变量
const lang: SubscribedAbstractProperty<string> = AppStorage.prop('languageCode');
const colorMode: SubscribedAbstractProperty<ColorMode> = AppStorage.prop('colorMode');
const fontScale: SubscribedAbstractProperty<number> = AppStorage.prop('fontScale');
const fontWeightScale: SubscribedAbstractProperty<number> = AppStorage.prop('fontWeightScale');

console.info(`这是测试: ${lang.get()}`);

console.info(`这是测试: ${colorMode.get()}`);

console.info(`这是测试: ${fontScale.get()}`);

console.info(`这是测试: ${fontWeightScale.get()}`);

更多关于HarmonyOS 鸿蒙Next Environment 使用不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

应用对环境变量参数是不可写的,使用Environment.envProp只能在Environment中进行查询,无法修改,而对于Environment的内置参数fontScale,目前单框架的工程机并没有适配,规格如此,所以在系统设置里更改字体大小时,Environment中也只能查询到默认值。
文档链接:‘https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-environment-V5#%E4%BB%8Eui%E4%B8%AD%E8%AE%BF%E9%97%AEenvironment%E5%8F%82%E6%95%B0

如果你希望在修改系统字体大小后,应用能够同步更改字体大小,同时可以使用回调函数EnvironmentCallback的config.fontSizeScale来动态监听并获取到修改后的值:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-configuration-file-V5#configuration标签

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-environmentcallback-V5?catalogVersion=V5

一、应用跟随系统字体大小的配置如下:

1.AppScope/resources/base/profile/configuration.json
{
"configuration": {
"fontSizeScale": "followSystem",
"fontSizeMaxScale": "3.2"
}
}

2.AppScope/app.json5 { “app”: { “bundleName”: “com.xylink.video.myapplication”, “vendor”: “example”, “versionCode”: 1000000, “versionName”: “1.0.0”, “icon”: “$media:app_icon”, “label”: “$string:app_name”, “configuration”: “$profile:configuration” } } <button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

二、查询应用的动态切换字体大小的值:

export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
//this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
hilog.info(0x0000, ‘testTag’, ‘%{public}s’, ‘Ability onCreate’);
let envCallback: EnvironmentCallback = {
onConfigurationUpdated(config) {
console.info(envCallback onConfigurationUpdated success: ${<span class="hljs-built_in">JSON</span>.stringify(config)});
console.info(“language===” + config.language)
console.info(“colorMode===” + config.colorMode)
console.info(“fontScale===” + config.fontSizeScale)
console.info(“fontWeightScale===” + config.fontWeightScale)
},
onMemoryLevel(level) {
console.log(onMemoryLevel level: ${<span class="hljs-built_in">JSON</span>.stringify(level)});
}
};

<span class="hljs-keyword">let</span> applicationContext = <span class="hljs-keyword">this</span>.context.getApplicationContext();
<span class="hljs-keyword">try</span> {
  applicationContext.on(<span class="hljs-string">'environment'</span>, envCallback);
} <span class="hljs-keyword">catch</span> (paramError) {

}

} } <button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next Environment 使用不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next Environment使用不生效的问题,可以尝试以下解决步骤:

  1. 检查开发环境

    • 确保操作系统版本、内存、处理器等硬件条件满足HarmonyOS的开发要求。
    • 验证DevEco Studio及鸿蒙SDK是否安装正确,且为最新版本。
  2. 验证项目配置

    • 检查build-profile.json5文件中的abiFilters是否包含了正确的架构类型(如x86_64)。
    • 确保项目配置与HarmonyOS Next环境兼容。
  3. 查看日志文件

    • IDE和鸿蒙SDK的日志文件中可能包含更具体的错误信息,有助于定位问题。
  4. 清理缓存和重启

    • 清除电脑缓存或重启设备,尝试解决临时性的运行错误。
  5. 重新创建模拟器

    • 如果模拟器配置不正确或内存不足,尝试重新创建模拟器,并手动设置合适的内存和磁盘大小。

如果以上步骤均无法解决问题,可能是更深层次的系统或兼容性问题。此时,建议检查是否有最新的系统更新或补丁,或者尝试在不同的硬件和操作系统环境下运行。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部