っ碎片化代码

MUI框架—窗口管理

2019-04-15  本文已影响2人  白晓明

页面初始化、创建子页面、关闭页面、预加载我们在 init() 方法中已经说明了,这里不再赘述。

打开新页面

我们在做APP时,与WEB不同的,无论是用点击链接跳转还是JS 动态加载DOM节点,都会碰到很高的性能挑战;MUI框架解决思路:单 webview 只承载单个页面的dom,减少dom层级及页面大小;页面切换使用原生动画,将最耗性能的部分交给原生实现。

mui.openWindow({
    url:new-page-url,
    id:new-page-id,
    styles:{},//窗口参数,参考H5+ API规范中的WebviewStyle
    extras:{},.//自定义扩展参数,可以用来处理页面间传值
    createNew:false,//是否重复创建同样id的webview,默认为false:不重复创建,直接显示
    show:{//窗口显示控制参数
      autoShow:true,//页面loaded事件发生后自动显示,默认为true
      aniShow:animationType,//页面显示动画,默认为”slide-in-right“;
      duration:animationTime//页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
    },
    waiting:{//系统等待框参数
      autoShow:true,//自动显示等待框,默认为true
      title:'正在加载...',//等待对话框上显示的提示内容
      options:{
        width:waiting-dialog-widht,//等待框背景区域宽度,默认根据内容自动计算合适宽度
        height:waiting-dialog-height,//等待框背景区域高度,默认根据内容自动计算合适高度
        ......
      }
    }
})

打开带原生导航栏的新页面

通过在 mui.openWindow 的styles节点中设置 titleNView 节点的相关参数,可实现绘制原生导航栏控件,可参考H5+ API webviewStyles 中的titleNView 节点中的 WebviewTitleNViewStyles 文档。

mui.openWindow({
  url: webviewUrl,
  id: webviewId,
  styles: {                             // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置
    titleNView: {                       // 窗口的标题栏控件
      titleText:"标题栏",                // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题
      titleColor:"#000000",             // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"
      titleSize:"17px",                 // 字体大小,默认17px
      backgroundColor:"#F7F7F7",        // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"
      progress:{                        // 标题栏控件的进度条样式
        color:"#00FF00",                // 进度条颜色,默认值为"#00FF00"  
        height:"2px"                    // 进度条高度,默认值为"2px"         
      },
      splitLine:{                       // 标题栏控件的底部分割线,类似borderBottom
        color:"#CCCCCC",                // 分割线颜色,默认值为"#CCCCCC"  
        height:"1px"                    // 分割线高度,默认值为"2px"
      }
    }
  }
});

参考文档

上一篇下一篇

猜你喜欢

热点阅读