uni-app 设置状态栏背景色

在开发中遇到需求是:关闭H5和APP端原生导航栏,但APP端要设置状态栏 背景色。参考了官方文档,为此写下这篇笔记记录下。
首先我们要在page.json文件中关闭原生导航栏,设置状态类字体颜色。代码如下:

"pages": [ 
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页",
				"navigationBarTextStyle": "black",//设置状态类字体颜色,只支持white、black这两个颜色
				"app-plus":{"titleNView":false }//关闭H5和APP原生导航栏
			}
		},
	]	

然后我们在页面中创建view标签,设置动态高度及获取状态栏高度。代码如下:

<!-- 状态栏 -->
<view :style="{ height: iStatusBarHeight + 'px'}" class="stat"></view>
js:
 export default {
        data() {
            return {
                iStatusBarHeight:0
            }
        },
        onLoad() {
            this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight
        }
    }
css:
.stat{
		background-color: #ff4e54;
		position: fixed;
		z-index: 1;
		height: var(--status-bar-height);// --status-bar-height系统状态栏高度
		width: 100%;
		top: 0;
		left: 0;
	}

取消原生导航栏后,由于窗体为沉浸式,占据了状态栏位置。此时可以使用一个高度为 var(–status-bar-height) 的 view 放在页面顶部,避免页面内容出现在状态栏。

最终效果如下:
在这里插入图片描述
也可以参考官方提供的文档:官方文档

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值