MUI――App启动页与引导页

匿名 (未验证) 提交于 2019-12-02 23:52:01

1.启动页(splash):app的启动界面,每次启动都会看到的;
2.引导页”(guide):guide是否展示是可控的,一般首次启动时打开,以后直接进入App主界面

  • 启动页配置
    • 在manifest.json文件中[启动图配置],并且配置是否自动关闭,代码如下:
    {     "plus" : {         "splashscreen" : {             "autoclose" : true, /*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/             "waiting" : true /*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/         }     } }
  • 引导页配置
    • 展示可控,意味着就会有一个标识去判断是否为首次打开。标识本地储存,可参考Hello mui启动页,逻辑如下:
     mui.plusReady(function() {      //读取本地存储,检查是否为首次启动      var showGuide = plus.storage.getItem("lauchFlag");      //仅支持竖屏显示      plus.screen.lockOrientation("portrait-primary");      if(showGuide) {          //有值,说明已经显示过了,无需显示;          //关闭splash页面;          plus.navigator.closeSplashscreen();          plus.navigator.setFullscreen(false);          //预加载          preload();      } else {          //显示启动导航          mui.openWindow({              id: 'guide',              url: 'examples/guide.html',              styles: {                  popGesture: "none"              },              show: {                  aniShow: 'none'              },              waiting: {                  autoShow: false              }          });          //延迟的原因:优先打开启动导航页面,避免资源争夺          setTimeout(function() {              //预加载              preload();          }, 200);      }  });
    • 在guide.html中做自己想做的功能,如多图轮播,使用mui的slide组件实现
    <!DOCTYPE html>     <html>     <head>         <meta charset="utf-8">         <title>Hello MUI</title>         <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">         <meta name="apple-mobile-web-app-capable" content="yes">         <meta name="apple-mobile-web-app-status-bar-style" content="black">          <link rel="stylesheet" href="../css/mui.min.css">         <style>             #close {                 position: absolute;                 width: 160px;                 left: 50%;                 margin-left: -80px;                 bottom: 15%;                 padding: 10px;                 color: #fff;                 border-color: #fff;             }             .item-logo {                 width: 100%;                 height: 100%;                 position: relative;             }             .item-logo a {                 width: 200px;                 height: 200px;                 display: block;                 border: 1px solid #FFFFFF;                 border-color: rgba(255, 255, 255, 0.5);                 text-align: center;                 line-height: 200px;                 border-radius: 50%;                 font-size: 40px;                 color: #fff;                 position: absolute;                 top: 15%;                 left: 50%;                 margin-left: -100px;             }             .animate {                 position: absolute;                 left: 0;                 bottom: 15%;                 width: 100%;                 color: #fff;                 display: -moz-box;             }             .animate h2 {                 text-align: center;                 margin-bottom: 20px;             }             .animate li {                 width: 50%;                 height: 30px;                 line-height: 30px;                 list-style: none;                 font-size: 16px;                 text-align: right;             }             .animate li:nth-child(3) {                 text-align: left;                 float: right;             }             .animated {                 -webkit-animation-duration: 1s;                 -webkit-animation-play-state: paused;                 -webkit-animation-fill-mode: both;             }             .guide-show .bounceInDown {                 -webkit-animation-name: bounceInDown;                 -webkit-animation-play-state: running;                 -webkit-animation-delay: 1s;                 display: block;             }             .guide-show .bounceInLeft {                 -webkit-animation-name: bounceInLeft;                 display: block;                 -webkit-animation-play-state: running;             }             .guide-show .bounceInRight {                 -webkit-animation-name: bounceInRight;                 display: block;                 -webkit-animation-play-state: running;                 -webkit-animation-delay: 0.5s;             }             @-webkit-keyframes bounceInDown {                 0%, 60%, 75%, 90%, 100% {                     -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                     animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                 }                 0% {                     opacity: 0;                     -webkit-transform: translate3d(0, -3000px, 0);                     transform: translate3d(0, -3000px, 0);                 }                 60% {                     opacity: 1;                     -webkit-transform: translate3d(0, 25px, 0);                     transform: translate3d(0, 25px, 0);                 }                 75% {                     -webkit-transform: translate3d(0, -5px, 0);                     transform: translate3d(0, -5px, 0);                 }                 90% {                     -webkit-transform: translate3d(0, 3px, 0);                     transform: translate3d(0, 3px, 0);                 }                 100% {                     -webkit-transform: none;                     transform: none;                 }             }             @-webkit-keyframes bounceInLeft {                 0%, 60%, 75%, 90%, 100% {                     -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                     animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                 }                 0% {                     opacity: 0;                     -webkit-transform: translate3d(-3000px, 0, 0);                     transform: translate3d(-3000px, 0, 0);                 }                 60% {                     opacity: 1;                     -webkit-transform: translate3d(25px, 0, 0);                     transform: translate3d(25px, 0, 0);                 }                 75% {                     -webkit-transform: translate3d(-10px, 0, 0);                     transform: translate3d(-10px, 0, 0);                 }                 90% {                     -webkit-transform: translate3d(5px, 0, 0);                     transform: translate3d(5px, 0, 0);                 }                 100% {                     -webkit-transform: none;                     transform: none;                 }             }             @-webkit-keyframes bounceInRight {                 0%, 60%, 75%, 90%, 100% {                     -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                     animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);                 }                 0% {                     opacity: 0;                     -webkit-transform: translate3d(3000px, 0, 0);                     transform: translate3d(3000px, 0, 0);                 }                 60% {                     opacity: 1;                     -webkit-transform: translate3d(-25px, 0, 0);                     transform: translate3d(-25px, 0, 0);                 }                 75% {                     -webkit-transform: translate3d(10px, 0, 0);                     transform: translate3d(10px, 0, 0);                 }                 90% {                     -webkit-transform: translate3d(-5px, 0, 0);                     transform: translate3d(-5px, 0, 0);                 }                 100% {                     -webkit-transform: none;                     transform: none;                 }             }         </style>     </head>      <body>         <div id="slider" class="mui-slider mui-fullscreen" style="background-color: black;">             <div class="mui-slider-group">                 <!-- 第一张 -->                 <div class="mui-slider-item">                     <div class="item-logo" style="background-color: #D74B28">                         <a href="#">                         MUI                         </a>                         <div class="animate guide-show">                             <h2 class="animated bounceInDown">小巧高能</h2>                             <li class="animated bounceInLeft">几十K的JS和CSS</li>                             <li class="animated bounceInRight">上百种控件样式和模板</li>                         </div>                     </div>                 </div>                 <!-- 第二张 -->                 <div class="mui-slider-item">                     <div class="item-logo" style="background-color: #02C1ED;">                         <a href="#">                         MUI                         </a>                         <div id="tips-2" class="animate mui-hidden">                             <h2 class="animated bounceInDown">原生UI</h2>                             <li class="animated bounceInLeft">以iOS原生UI为基础</li>                             <li class="animated bounceInRight">补充Android特有样式</li>                         </div>                     </div>                 </div>                 <!-- 第三张 -->                 <div class="mui-slider-item">                     <div class="item-logo" style="background-color: #67C962;">                         <a href="#">                         MUI                         </a>                         <div id="tips-3" class="animate mui-hidden">                             <h2 class="animated bounceInDown">流畅体验</h2>                             <li class="animated bounceInLeft">下拉刷新、转场动画</li>                             <li class="animated bounceInRight">整个世界都流畅了</li>                         </div>                     </div>                 </div>                 <!-- 第四张 -->                 <div class="mui-slider-item">                     <div class="item-logo" style="background-color: #FCD208;">                         <a href="#">                         MUI                         </a>                         <div class="animate">                             <button id='close' class="mui-btn mui-btn-warning mui-btn-outlined">立即体验</button>                         </div>                     </div>                 </div>             </div>             <div class="mui-slider-indicator">                 <div class="mui-indicator mui-active"></div>                 <div class="mui-indicator"></div>                 <div class="mui-indicator"></div>                 <div class="mui-indicator"></div>             </div>         </div>         <script src="../js/mui.min.js"></script>         <script>             mui.back = function() {};             mui.plusReady(function() {                 if(mui.os.ios){                     plus.navigator.setFullscreen(true);                 }                 plus.navigator.closeSplashscreen();             });             //立即体验按钮点击事件             document.getElementById("close").addEventListener('tap', function(event) {                 plus.storage.setItem("lauchFlag", "true");                 plus.navigator.setFullscreen(false);                 plus.webview.currentWebview().close();             }, false);             //图片切换时,触发动画             document.querySelector('.mui-slider').addEventListener('slide', function(event) {                 //注意slideNumber是从0开始的;                 var index = event.detail.slideNumber+1;                 if(index==2||index==3){                     var item = document.getElementById("tips-"+index);                     if(item.classList.contains("mui-hidden")){                         item.classList.remove("mui-hidden");                         item.classList.add("guide-show");                     }                 }             });          </script>     </body>  </html>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!