热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

plus.nativeObj.View解析

HBuilder7.2起,提供了plus.nativeObj.View,简称nview,http://html5plus.org/doc/zh_cn/nativeobj.html,它是一个灵活的

HBuilder7.2起,提供了plus.nativeObj.View,简称nview,http://html5plus.org/doc/zh_cn/nativeobj.html,它是一个灵活的底层组件,可以通过js控制样式的原生画布,写字、贴图、做动画,它不属于dom,可盖在webview和各种原生控件上面。
业内有些人认为HTML5渲染不敌原生渲染,确实在非预载的情况下HTML渲染慢于原生,那nview其实就是纯原生渲染了,nview的出现,补齐了HTML5的短板,满足了对体验有苛刻要求的开发者。
合理运用nview的应用,其加载速度已经毫无逊色于原生应用,这里有些视频对比http://ask.dcloud.net.cn/article/12576

nview可灵活运用于多种情况。
举例:


  1. 更高性能的窗体切换动画
    我们知道div动画效果不好,webview的动画效果要好很多,但追求极致的话,nativeobj的动画是效果最好的。
    从HBuilder8.8起,提供了subnview。加载一个webview时,可以把webview的界面部分原生化。这样动画期间,其实webview是不渲染不移动的,移动的是原生绘制的subnview。
    subnview绘制极快,可以在100毫秒渲染,所以动画期间就能看到内容。而普通HTML文件渲染不预载的话是无法在100毫秒渲染的。

  2. 始终悬浮在webview上的圆球按钮

  3. 使用nativeObj.view来做title,不再使用父子双webview,节省更多内存资源,提升加载速度。此需求已经于HBuilder8.8起封装为webview的titleNView,可以在创建webview时配置一个参数,就可以生成一个nview的title,同时这个nview的title也可以继续使用nview的api进行文字图片的绘制。参考http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTitleNViewStyles

  4. 自定义原生控件
    扫码、地图...很多HTML5+里提供的原生控件,之前是难以自定义界面的,需要使用github上的5+runtime代码自己改源码、本地打包新引擎。有了nview,可以自由的在这些原生控件上贴图、写字、增加按钮,实现界面的自定义。

  5. 全屏遮罩
    子webview里的popover,弹出时无法全屏遮罩,其实我们可以不用popover的遮罩,直接用plus.nativeObj.View在popover四周贴蒙灰半透明图。

  6. webview选项卡上面多一个弧形
    以前,下图样式通过5+的webview选项卡并不好实现,或者改用div选项卡,或者在中间的webview底部fix一个图。





现在你可以创建一个原生的view放到选项卡中间,然后把圆球图贴进去,这个view是可以跨越webview的边界限制的。具体参考这个文章http://ask.dcloud.net.cn/article/12602

plus.nativeObj.View还支持点击事件,还可以在图上继续贴图,应用场景非常多。
plus.nativeObj.View可以盖在webview上面,从HBuilder7.3起,view还支持内嵌于webview,可跟随webview一起动。

plus.nativeObj.View的引入极大的提升了5+app的性能和ui自定义性,对父子双webview的使用产生很大替代作用,但注意mui封装过的父子webview是可以兼容到非5+的普通浏览器里使用的,而native view则必须依赖5+环境。



回答


推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • Android开发技巧:使用IconFont减少应用体积
    本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 经过短暂的休整,我们再次推出新的小程序功能,进一步提升用户体验。现在,小程序页面不仅支持放置转发按钮,还新增了长按快速转发的功能,让用户能够更加便捷地分享页面内容。这一更新将为开发者提供更多创意空间,同时也大幅提升了用户的互动性和使用便利性。 ... [详细]
author-avatar
手机用户2602881417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有