更新时间:2021-11-27 10:51:02浏览次数:67+次
该如何来修改HarmonyOS鸿蒙应用上部状态栏字体颜色?如何在代码中修改该界面的状态栏字体、图标颜色为白色?有这方面的示例吗?
解答
请看下面“鸿蒙基础开发:更改自带的标题栏”一文,经过测试,完全可用。
1、前言
一般新创建的工程项目,都是自带标题栏(如下图),但是实际项目中标题栏需要自定义样式,所以需要隐藏掉系统自带的标题栏:
2、正文
更改系统标题栏的样式,在entry模块下的config.json文件添加配置(如下代码,无标题栏)。
1]、在module下配置是改变应用的样式。
2]、abilities下配置是改变对应的页面样式。
"metaData": {
"customizeData": [
{
"name": "hwc-theme",
"value": "androidhwext:style/Theme.Emui.Light.NoTitleBar"
}
]
}
"name": "hwc-theme"(固定写法,不能更改)
"value": "androidhwext:style/Theme.Emui.Light"(白色样式:有标题栏,状态栏和导航栏:字体颜色黑色)
"value": "androidhwext:style/Theme.Emui.Light.NoTitleBar"(白色样式:无标题栏,状态栏和导航栏:字体颜色黑色)
"value": "androidhwext:style/Theme.Emui.Dark"(黑色样式:有标题栏,状态栏和导航栏:字体颜色白色)
"value": "androidhwext:style/Theme.Emui.Dark.NoActionBar"(黑色样式:无标题栏,状态栏和导航栏:字体颜色白色)
3、效果图
1]、白色样式:有标题栏和无标题栏
2]、黑色样式:有标题栏和无标题栏?
4、设置状态栏和导航栏背景颜色
(沉浸式)一般我们都是自定义标题栏,想要标题栏颜色和状态颜色一致需要代码设置。
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
// 设置状态栏背景颜色
getWindow().setStatusBarColor(Color.getIntColor("#4BC444"));
// 设置导航栏背景颜色
getWindow().setNavigationBarColor(Color.WHITE.getValue());
}
}
5、设置状态栏颜色:未设置和已设置对比截图
相关资讯