HarmonyOS 如何动态设置StatusBar内的字体颜色?
APP设置了沉浸式布局,在切换主题颜色的时候,最顶部的状态栏字体颜色不会变化,请问该怎么处理?下面的代码时我们的设置方式:
private checkDarkMode(darkModeConfig: DarkModeSettingsConfig): void {
AppStorage.setOrCreate<DarkModeSettingsConfig>('darkModeConfig', darkModeConfig);
let applicationContext = getContext(this).getApplicationContext();
let colorMode: ConfigurationConstant.ColorMode = ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET;
if (darkModeConfig.switchType === DarkModeType.FOLLOW_UP) {
colorMode = (getContext(this) as common.UIAbilityContext).config.colorMode ||
ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT;
} else if (darkModeConfig.switchType === DarkModeType.DARK) {
colorMode = ConfigurationConstant.ColorMode.COLOR_MODE_DARK;
} else {
colorMode = ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT;
}
AppStorage.setOrCreate('currentColorMode', colorMode);
applicationContext.setColorMode(colorMode);
try {
AppUtil.getMainWindow()?.setWindowSystemBarProperties({
statusBarContentColor: colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK ? '0xffffffff' : '0x00000000',
}, (err: BusinessError) => {
const errCode: number = err.code;
if (errCode) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar properties.');
});
} catch (exception) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
}
}
- 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.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 如何动态修改状态栏颜色和字体颜色?
1665浏览 • 1回复 待解决
HarmonyOS 如何设置状态字体颜色
683浏览 • 1回复 待解决
HarmonyOS 关于Tabs如何设置字体颜色的问题
621浏览 • 1回复 待解决
HarmonyOS TabContent怎么设置字体颜色
711浏览 • 1回复 待解决
HarmonyOS 富文本如何设置默认字体大小跟字体颜色
741浏览 • 1回复 待解决
HarmonyOS 如何动态设置颜色的透明度,或者设置argb
792浏览 • 1回复 待解决
HarmonyOS TextInput禁用控制开启后,字体颜色如何设置
688浏览 • 1回复 待解决
RichEditor 如何设置初始字体大小与颜色?
1619浏览 • 1回复 待解决
HarmonyOS TextInput设置enabled=false时,字体颜色怎么设置
590浏览 • 1回复 待解决
应用内字体大小设置调整
974浏览 • 1回复 待解决
如何动态修改状态栏和状态栏字体颜色
2859浏览 • 1回复 待解决
HarmonyOS 设置状态栏的字体颜色好像无效
720浏览 • 1回复 待解决
HarmonyOS 应用内字体大小怎么设置?
1113浏览 • 1回复 待解决
HarmonyOS 动态设置状态栏颜色
892浏览 • 1回复 待解决
HarmonyOS TextArea组件是否支持部分字体设置颜色
518浏览 • 1回复 待解决
@Styles如何设置组件Text的字体,颜色等非公共属性?
1095浏览 • 2回复 待解决
HarmonyOS 按钮设置了不同状态下的字体颜色,但是都只显示Normal的颜色
797浏览 • 1回复 待解决
Ark TS ,API 9状态栏和字体颜色如何设置?
4155浏览 • 1回复 待解决
HarmonyOS 如何使用富文本显示不同字体颜色,并设置不同的点击事件
658浏览 • 1回复 待解决
如果改变 SubTabBarStyle 的字体颜色
1332浏览 • 1回复 待解决
HarmonyOS 每个页面状态栏背景颜色和字体颜色不一样,怎么动态设置每个页面的沉浸式状态栏
807浏览 • 1回复 待解决
HarmonyOS 如何通过代码设置使APP内字体不跟随手机系统字体大小改变
688浏览 • 1回复 待解决
HarmonyOS怎样设置在不同页面的状态栏字体颜色
915浏览 • 1回复 待解决
如何实现修改字体大小,APP内的字体不受影响。修改显示大小,这个时候APP内的字体受影响
1182浏览 • 1回复 待解决
目前设置状态栏颜色是使用窗口的API,调整维度是从整个窗口进行调整。需要做到页面的级别的话就需要在页面的生命周期中进行调整控制,在需要改变的页面直接调用setWindowSystemBarProperties方法。 可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window-0000001820880785#ZH-CN_TOPIC_0000001811317218__setwindowsystembarproperties9
示例代码如下: