HarmonyOS 应用如何主动设置深浅色模式

应用主动设置深浅色模式应该在哪个文件里设置?如何设置?能否固定状态栏颜色?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以在entryability的EntryAbility.est中设置进行应用主动设置深浅色模式,参考下面的demo:

import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant'
export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
    // this.context.getApplicationContext().setColorMode();
    this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
  }

  onDestroy(): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
  }

  onWindowStageCreate(windowStage: window.WindowStage): void {
    // Main window is created, set main page for this ability
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');

    windowStage.loadContent('pages/Index', (err) => {
      if (err.code) {
        hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
        return;
      }
      hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.');
    });
  }

  onWindowStageDestroy(): void {
    // Main window is destroyed, release UI related resources
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');
  }

  onForeground(): void {
    // Ability has brought to foreground
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');
  }

  onBackground(): void {
    // Ability has back to background
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 主动设置深浅色模式
25浏览 • 1回复 待解决
HarmonyOS 如何监听深浅色模式
11浏览 • 1回复 待解决
HarmonyOS 如何设置固定浅色模式
95浏览 • 1回复 待解决
HarmonyOS 浅色模式与深色模式
22浏览 • 1回复 待解决
HarmonyOS 浅色深色主题如何设置
457浏览 • 1回复 待解决