uniapp的video层级过高引起的页面展示问题

uniapp的video层级过高引起的页面展示问题

uniapp的原生组件层级过高,从而一直有黑块悬浮在页面表面,造成页面不美观。
在处理这个问题,我使用了两种方法,一是用cover-image处理播放按钮,删除按钮被黑块挡在下面的问题。

<video :src="url + qiniuNewDefuseVedio" object-fit="contain"  style="width:200rpx;height: 200rpx;border-radius: 12px;position: relative;" id="defuseVideo" @play="defuseVideoPlay" v-if="isdefusevideo">
 	<cover-image class="add-img-del" @click="delectDefuseVideo" src="../../../static/images/delete.png"></cover-image>
</video>

二是在页面滑动的时候,由于video的层级过高,会滚动在title之上
video滚动到标题之上
这种情况我是使用plus.nativeObj.View,简称nview,plus.nativeObj.View官方文档,它是一个灵活的底层组件,可以通过js控制样式的原生画布,写字、贴图、做动画,它不属于dom,可盖在webview和各种原生控件上面。

createView(){
			var view = new plus.nativeObj.View('head',{top:'0',left:'0',height:'65px',width:'100%'});
			view.drawRect({color:'#fff'}, {top:'0px',left:'0px',width:'100%',height:'100%'});
			view.drawText(' 返回', {top:'31px',left:'0px',width:'20%',height:'30px'}, {size:'14px',color:'#808080',weight:600});
			// 绘制文本
			// if(this.fromPage == 'details'){
				view.drawText('纠纷详情', {top:'30px',left:'0px',width:'100%',height:'30px'}, {size:'15px',color:'#000',weight:600});
			// }else{
			// 	view.drawText('新建纠纷', {top:'30px',left:'0px',width:'100%',height:'30px'}, {size:'15px',color:'#000',weight:600});
			// }
			//返回添加事件
			view.addEventListener("click", this.onclick, false);
			view.show();
			// plus.nativeUI.toast('创建成功');	
		},
		onclick(){
			uni.navigateBack({
				delta: 1
			})
			var view = plus.nativeObj.View.getViewById('head');
			view.close();
			// plus.nativeUI.toast('销毁View控件成功');
			
		},

h5,小程序等可以用cover-view 和cover-image方法来解决原生组件层级问题,如果是多端,那plus.nativeObj.View也不失为一个好的方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值