MUI 启用沉浸式&header显示问题

  1. 启用沉浸式
    在manifest.json配置文件中添加如下代码(两种方式皆可)
    a、
"plus": {
		"statusbar": {
			"immersed": "supportedDevice",
			"style": "dark"
		},

b、

"plus": {
		"statusbar": {
			"immersed": true
		},
  1. 启用沉浸式后,header显示问题
    MUI 中 ,header标签的高度默认为一个固定值。在实际中,不同的移动设备状态栏是不一样的,所以在H5中使用"header"标签时显示出问题。
    (如果使用原生的 标题栏,不会出现如上header显示问题)
    如下解决:
    a、在header标签中添加id=“header”
    b、添加如下js,可放在一个js文件中统一引用
mui.plusReady(function() {

	var topoffset = '45px';

	var header = document.getElementById('header');

	console.log(header)

	console.log(plus.navigator.isImmersedStatusbar())

	if(plus.navigator.isImmersedStatusbar()) { // 兼容immersed状态栏模式

		// 获取状态栏高度并根据业务需求处理,这里重新计算了子窗口的偏移位置

		topoffset = (Math.round(plus.navigator.getStatusbarHeight()) + 45);

		header.style.height = topoffset + 'px';

		header.style.paddingTop = (topoffset - 45) + 'px';

	}

});

c、设置内容栏div 的margin-top 属性,如图所示
在这里插入图片描述
3. 启用沉浸式后,下拉刷新时图标高度设置

	down: {
			style: 'circle',
			height: '50px', 
			range: '100px', 
			offset: '35px', 
			callback: pulldownRefresh
					},

4.选项卡显示问题
在启用沉浸式后,如下图所示tab标签,被原生的标题栏遮盖了,
在此我们更改下内容栏的top坐标即可。
在这里插入图片描述
① 在js 中,以下是用来展示内容栏html页面的方法

mui(".scroll").on("tap", ".mui-control-item", function(e) {
					var wid = this.getAttribute("data-wid");
					group.switchTab(wid);
				});

② 我们进入switchTab()方法,在webviewGroup.js中,更改top值即可。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值