本人在鸿蒙软件开发软件上架中遇到了官方要求必须强制设配相关的手机深色模式的情况。

查遍了很多的文章和资料,发现很多其实讲的都不行,其实非常的简单粗暴。

例如:拼xx软件、学习xx软件都没跟着手机的默认深色模式走。

因此本人特地询问一下腾讯元宝,元宝告诉我最简单粗暴的方式就是从鸿蒙的应用设置里面着手进行修改。

下面是具体方法:

在鸿蒙开发的中要实现应用启动时强制为浅色模式,你需要修改 EntryAbility.ts文件。关键在于使用 setColorMode接口,并传入浅色模式常量。

在onCreate什么周期方法里面添加:

// 核心设置:强制应用使用浅色模式,覆盖系统设置
this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);

即可实现相关的功能,

总体代码大致如下即可:

 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET);
    hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate');

    //强制应用浅色模式,覆盖系统设置
    try {
      this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
    }catch (err) {
      hilog.error(0x0000, 'ThemeTag', 'Failed to set color mode. Error: %{public}s', JSON.stringify(err));
    }
  }

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐