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));
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 如何动态修改状态栏颜色和字体颜色?
315浏览 • 1回复 待解决
HarmonyOS 如何设置状态字体颜色
38浏览 • 1回复 待解决
HarmonyOS TabContent怎么设置字体颜色
45浏览 • 1回复 待解决
HarmonyOS 应用内字体大小怎么设置?
43浏览 • 1回复 待解决
HarmonyOS 设置状态栏的字体颜色好像无效
61浏览 • 1回复 待解决
应用内字体大小设置调整
317浏览 • 1回复 待解决
RichEditor 如何设置初始字体大小与颜色?
945浏览 • 1回复 待解决
如何动态修改状态栏和状态栏字体颜色
2114浏览 • 1回复 待解决
HarmonyOS 按钮设置了不同状态下的字体颜色,但是都只显示Normal的颜色
42浏览 • 1回复 待解决
@Styles如何设置组件Text的字体,颜色等非公共属性?
524浏览 • 2回复 待解决
Ark TS ,API 9状态栏和字体颜色如何设置?
2917浏览 • 1回复 待解决
HarmonyOS怎样设置在不同页面的状态栏字体颜色
477浏览 • 1回复 待解决
HarmonyOS 每个页面状态栏背景颜色和字体颜色不一样,怎么动态设置每个页面的沉浸式状态栏
71浏览 • 1回复 待解决
如果改变 SubTabBarStyle 的字体颜色
901浏览 • 1回复 待解决
如何实现修改字体大小,APP内的字体不受影响。修改显示大小,这个时候APP内的字体受影响
457浏览 • 1回复 待解决
HarmonyOS 如何设置全局字体
30浏览 • 1回复 待解决
鸿蒙java开发 如何设置一段文字中的某个字的字体颜色
5071浏览 • 3回复 待解决
Tab组件的Tabbar中字体的颜色如何修改
1290浏览 • 1回复 待解决
button 字体颜色无法改变
3755浏览 • 1回复 待解决
HarmonyOS 状态栏文字的颜色如何动态变化
36浏览 • 1回复 待解决
HarmonyOS 字体大小如何设置?
575浏览 • 1回复 待解决
HarmonyOS 应用内字体大小调节
562浏览 • 1回复 待解决
HarmonyOS 单页面如何控制状态栏字体颜色
78浏览 • 1回复 待解决
HarmonyOS bindPopup如何设置箭头颜色
274浏览 • 1回复 待解决
如何设置Text的字体,可以不受系统设置里显示字体大小的影响
915浏览 • 1回复 待解决
目前设置状态栏颜色是使用窗口的API,调整维度是从整个窗口进行调整。需要做到页面的级别的话就需要在页面的生命周期中进行调整控制,在需要改变的页面直接调用setWindowSystemBarProperties方法。 可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window-0000001820880785#ZH-CN_TOPIC_0000001811317218__setwindowsystembarproperties9
示例代码如下: