一、uni-app的原生层级覆盖
另见文档:https://uniapp.dcloud.io/component/native-component**
二、5+App的原生对象层级覆盖
为了提升性能,5+提供了一批原生对象,比如plus.video、plus.map、plus.nativeObj、plus.nativeUI、plus.webview、plus.barcode、plus.gallery.pick、plus.camera
虽然提升了性能,但带来了前端组件无法覆盖原生控件的层级问题,为了解决这个问题,有2种方案:
- plus.nativeObj.view
简称nview,它是一个原生的类画布的控件。
API文档详见:https://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.View
plus.nativeObj.view的API比较原始,可以画出任何界面,但plus.nativeObj.view有3个问题:1. api很底层,开发比较复杂;2. 不支持动画;3. 不支持内部滚动。
plus.nativeObj.view的层级是最高的,它高于子webview、高于uni-app的subnvue。
- 子webview
子webview的意思是创建一个新的非全屏webview,盖住原生界面对象。
子webview没有plus.nativeObj.view的限制,可以随意覆盖。
子webview会比plus.nativeObj.view多占用一些内存。所以如果你要覆盖的内容很简单,plus.nativeObj.view可以简单实现,也没必要用子webview。
子webview可以设zindex,来调节多个子webview的层级。但不建议使用太多子webview,影响性能。
5 个评论
要回复文章请先登录或注册
MonikaChen
m***@foxmail.com
1***@qq.com
DCloud_heavensoft (作者)
t***@163.com