混合移动开发MUI-窗口管理

2023-01-03 0 374

页面初始化

mui对询问处的操作方式须要5+runtime自然环境的全力支持

app合作开发中,若要采用HTML5+扩充api,要等plusready该事件出现后就可以恒定采用

mui将该该事件PCB成了mui.plusReady()方式

询问处webview

对混和合作开发中的APP,他们能把两个html页面当作是两个询问处,两个html页面能建立数个webview。那个webview是原生植物APP中下载页面的模块,android和iOS都有,html5plus中的webview是对原生植物webview的PCB,能用js展开初始化,因此它的运转自然环境是APP自然环境,一般应用程序中是不全力支持的。

参考链接地址http://www.html5plus.org/doc/zh_cn/webview.html

建立新的Webview询问处

WebviewObject plus.webview.create( url, id, styles, extras );

显示Webview询问处

void plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );

隐藏Webview询问处

void plus.webview.hide( id_wvobj, aniHide, duration, extras );

WebviewObject plus.webview.currentWebview();

查找指定标识的WebviewObject询问处

WebviewObject plus.webview.getWebviewById( id );

建立并打开Webview询问处

WebviewObject plus.webview.open( url, id, styles, aniShow, duration, showedCB );;

建立子页面

问题

在mobile app合作开发过程中,经常会出现共用的导航栏或者选项卡的场景,每次打开页面都须要重新渲染,而且容易出现卡头卡尾的现象。并且此时若采用局部滚动,在android手机上会出现滚动不流畅的问题。

解决

第一种(官方推荐):在plus自然环境下,采用原生植物titleNView以及原生植物tabbar来替换页面的导航栏或者选项卡。在页面打开时,渲染已经完成,让你的应用更接近原生植物app。

第二种:通过双webview模式解决,此种情况适用于须要上下拉刷新的列表页面。将须要滚动的区域通过单独的webview实现,完全采用原生植物滚动。具体做法则是:将目标页面分解为主页面和内容页面,主页面显示卡头卡尾区域,比如顶部导航、底部选项卡等;内容页面显示具体须要滚动的内容,然后在主页面中初始化mui.init方式初始化内容页面。

关闭页面

mui框架将询问处关闭功能PCB在mui.back方式中,具体执行逻辑是:若当前webview为预加载页面,则hide当前webview;否则,close当前webview;

在mui框架中,有三种操作方式会触发页面关闭(执行mui.back方式):

点击包含.mui-action-back类的控件

hbuilder中采用快捷键mheader生成的代码块,会自动生成带有返回导航箭头的标题栏,点击返回箭头可关闭当前页面,原因就是因为该返回箭头包含.mui-action-back类

若希望在顶部导航栏之外的其它区域添加关闭页面的控件,只须要在对应控件上添加.mui-action-back类即可

在屏幕内,向右快速滑动

mui框架PCB的页面右滑关闭功能,默认未启用,若要采用右滑关闭功能,须要在mui.init();方式中设置swipeBack参数,

Android手机按下back按键

预加载页面

所谓的页面预加载就是在用户尚未触发页面跳转时,提前建立目标页面,这样当用户跳转时,就能立即展开页面切换,节省建立新页面的时间,提升app采用体验。

mui提供两种方式实现页面预加载

方式一:通过mui.init方式中的preloadPages参数展开配置。

方式二:通过mui.preload方式预加载。

混合移动开发MUI-窗口管理

郑州课工 场 金水 路

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务