zoukankan      html  css  js  c++  java
  • Ionic2:创建App启动页滑动欢迎界面

    来自:https://my.oschina.net/qinphil/blog/777787

    著作权归原创作者所有,如有再转,请自觉标明原创出处,以示尊重!

    摘要: 每个有逼格的App在第一次启动时都有一个欢迎界面,通常是几个单页面或者带动画的单页面滑动到最后一页有个启动的按钮,本文将使用Ionic2来创建,So easy!

    效果如下,图片来自网络

    本文例子和上图稍有不同,主要功能如下:

    • 每滑动一下展示一张全屏图片;
    • 滑动到最后一页才出现启动按钮;
    • 欢迎界面只在第一次安装启动时出现。

    下面就让我们一步一步实现这个功能:

    1.创建应用:

    使用Ionic2创建应用非常简单,只需在V1的命令后跟上--v2即可,如下:

    ionic start ionic2-welcome --v2

    2.创建Component

    使用命令行创建页面或者自行在创建文件

    ionic g page welcome

    然后打开应用跟组件app.component.ts,导入组件,app.module.ts也一样并配置

    
    import { WelcomePage } from '../pages/welcome/welcome';

    3.创建模板文件welcome.html

    <ion-slides pager>
     
      <ion-slide>
        <img src="images/slide1.png" />
      </ion-slide>
     
      <ion-slide>
        <img src="images/slide2.png" />
      </ion-slide>
     
      <ion-slide>
        <img src="images/slide3.png" />
      </ion-slide>
     
      <ion-slide>
        <ion-row>
            <ion-col>
                <img src="images/slide4.png" />
            </ion-col>
        </ion-row>
        <ion-row>
            <ion-col>
                <button light (click)="goToHome()">立即启动</button>
            </ion-col>
        </ion-row>
      </ion-slide>
     
    </ion-slides>

    通过ionic自带的ion-slides可以很方便的创建一个欢迎页面

    4.创建welcome.scss

    ion-slide {
        background-color: #eeeeee;
    }
     
    ion-slide img {
        height: 70vh !important;
         auto !important;
    }

    5.创建welcome.ts

    import { Component } from '@angular/core';
    import {NavController} from 'ionic-angular';
    import {HomePage} from '../home/home';  
     
    @Component({
        templateUrl: 'welcome.html'
    })
    export class WelcomePage {
        constructor(public navCtr: NavController){ 
        }
     
        goToHome(){
            this.navCtr.setRoot(HomePage);
        }
    }

    6.在根组件导入welcome组件,编辑app.moudle.ts

    import { Component } from '@angular/core';
    import { Platform } from 'ionic-angular';
    import { StatusBar } from 'ionic-native';
    import { HomePage } from '../pages/home/home';
    import { WelcomePage } from '../pages/welcome/welcome';
    import { Storage } from '@ionic/storage';
    @Component({
      template: `<ion-nav [root]="rootPage"></ion-nav>`,
       
    })
    export class MyApp { 
      rootPage: any; 
    
      constructor(platform: Platform, public storage: Storage) {
    
        this.storage.get('firstIn').then((result) => { 
                 
          if(result){  
            this.rootPage = HomePage; 
          } 
          else{
            this.storage.set('firstIn', true);
            this.rootPage = WelcomePage;
          }
                
        }
        );  
    
      	
     
        platform.ready().then(() => {
          // Okay, so the platform is ready and our plugins are available.
          // Here you can do any higher level native things you might need.
          StatusBar.styleDefault(); 
        });
      } 
    }
    

    这里判断是否是第一次开启app采用的是native的storage组件,第一次启动会写入storage一个变量firstIn,下次启动时如果读取到这个变量则直接跳过欢迎页,注意ionic2开始storage默认使用的是IndexedDB,而不是LocalStorage

  • 相关阅读:
    EOF ---shell编程
    Linux错误代码含义
    linux连接sybase数据库-isql
    CH7-WEB开发(集成在一起)
    [转]ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)
    [转]ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)
    [转]ASP.NET MVC 入门8、ModelState与数据验证
    [转]ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    [转]ASP.NET MVC 入门6、TempData
    [转]ASP.NET MVC 入门5、View与ViewData
  • 原文地址:https://www.cnblogs.com/itfantasy/p/6687163.html
Copyright © 2011-2022 走看看