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 如何动态修改状态栏颜色和字体颜色?
802浏览 • 1回复 待解决
HarmonyOS 如何设置状态字体颜色
309浏览 • 1回复 待解决
HarmonyOS 关于Tabs如何设置字体颜色的问题
228浏览 • 1回复 待解决
HarmonyOS TabContent怎么设置字体颜色
329浏览 • 1回复 待解决
HarmonyOS 如何动态设置颜色的透明度,或者设置argb
359浏览 • 1回复 待解决
HarmonyOS TextInput禁用控制开启后,字体颜色如何设置
271浏览 • 1回复 待解决
HarmonyOS 富文本如何设置默认字体大小跟字体颜色
239浏览 • 1回复 待解决
HarmonyOS 动态设置状态栏颜色
417浏览 • 1回复 待解决
HarmonyOS 应用内字体大小怎么设置?
537浏览 • 1回复 待解决
如何动态修改状态栏和状态栏字体颜色
2424浏览 • 1回复 待解决
RichEditor 如何设置初始字体大小与颜色?
1227浏览 • 1回复 待解决
应用内字体大小设置调整
542浏览 • 1回复 待解决
HarmonyOS TextInput设置enabled=false时,字体颜色怎么设置
291浏览 • 1回复 待解决
HarmonyOS TextArea组件是否支持部分字体设置颜色
120浏览 • 1回复 待解决
HarmonyOS 设置状态栏的字体颜色好像无效
318浏览 • 1回复 待解决
@Styles如何设置组件Text的字体,颜色等非公共属性?
740浏览 • 2回复 待解决
HarmonyOS 按钮设置了不同状态下的字体颜色,但是都只显示Normal的颜色
403浏览 • 1回复 待解决
Ark TS ,API 9状态栏和字体颜色如何设置?
3442浏览 • 1回复 待解决
HarmonyOS 如何使用富文本显示不同字体颜色,并设置不同的点击事件
297浏览 • 1回复 待解决
HarmonyOS怎样设置在不同页面的状态栏字体颜色
606浏览 • 1回复 待解决
HarmonyOS 每个页面状态栏背景颜色和字体颜色不一样,怎么动态设置每个页面的沉浸式状态栏
307浏览 • 1回复 待解决
HarmonyOS 如何通过代码设置使APP内字体不跟随手机系统字体大小改变
239浏览 • 1回复 待解决
如何实现修改字体大小,APP内的字体不受影响。修改显示大小,这个时候APP内的字体受影响
765浏览 • 1回复 待解决
如果改变 SubTabBarStyle 的字体颜色
996浏览 • 1回复 待解决
目前设置状态栏颜色是使用窗口的API,调整维度是从整个窗口进行调整。需要做到页面的级别的话就需要在页面的生命周期中进行调整控制,在需要改变的页面直接调用setWindowSystemBarProperties方法。 可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window-0000001820880785#ZH-CN_TOPIC_0000001811317218__setwindowsystembarproperties9
示例代码如下: