uni-app video组件点击全屏播放时层级太高,无法将其他组件覆盖在全屏video上方
uni-app video组件点击全屏播放时层级太高,无法将其他组件覆盖在全屏video上方
操作步骤:
- 创建一个uniapp应用
- 写个video标签,然后在video标签里放个cover-view,在非全屏下正常盖在播放器上
- 点击全屏播放按钮后就无法盖住
预期结果:
能在全屏播放上
实际结果:
无法盖在全屏播放上
bug描述:
video在点击全屏播放的时候,层级太高,无法将组件覆盖在全屏播放的video上面; 使用cover-view 和subNVues可以盖在视频上面,一旦点击全屏就无法覆盖在视频上面。
3 回复
video 组件,若想在全屏模式下使用cover-view,只有在微信小程序、App端的nvue页面可实现。
详见文档注意事项:https://uniapp.dcloud.io/component/video
更多关于uni-app video组件点击全屏播放时层级太高,无法将其他组件覆盖在全屏video上方的实战教程也可以访问 https://www.itying.com/category-93-b0.html
但是nvue的video的标签在安卓上太丑了,而我没有全屏播放控件
这是一个常见的全屏播放器层级问题。在uni-app中,当video组件进入全屏模式时,其层级会被系统接管,导致常规的cover-view无法覆盖在其上方。
解决方案:
- 使用subNVues方案:这是官方推荐的解决方案。subNVues可以在全屏video上方创建原生子窗体,确保层级覆盖。
// 在pages.json中配置
{
"path": "pages/video/video",
"style": {
"subNVues": [{
"id": "overlay",
"path": "pages/video/overlay",
"type": "popup",
"style": {
"position": "absolute",
"top": "0",
"left": "0",
"width": "100%",
"height": "100%",
"background": "transparent"
}
}]
}
}
// 在页面中控制显示
const subNVue = uni.getSubNVueById('overlay');
subNVue.show();

