日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

啟動(dòng)頁作為應(yīng)用程序首次出現(xiàn)的頁面,該頁面提供一些預(yù)加載數(shù)據(jù)的提前獲取,防止應(yīng)用程序出現(xiàn)白屏等異常,如是否第一次訪問應(yīng)用程序并開啟應(yīng)用歡迎頁;判斷用戶登錄信息進(jìn)行頁面跳轉(zhuǎn);消息信息懶加載等。

?

啟動(dòng)頁作為應(yīng)用程序首次出現(xiàn)的頁面,該頁面提供一些預(yù)加載數(shù)據(jù)的提前獲取,防止應(yīng)用程序出現(xiàn)白屏等異常,如是否第一次訪問應(yīng)用程序并開啟應(yīng)用歡迎頁;判斷用戶登錄信息進(jìn)行頁面跳轉(zhuǎn);消息信息懶加載等。

常見啟動(dòng)頁參數(shù)如下表所示:

屬性

類型

描述

必填

timer

number

倒計(jì)時(shí)時(shí)長,默認(rèn)3秒

Y

isLogo

boolean

顯示圖片類型。

false:常規(guī)圖,默認(rèn);

true:logo圖

N

backgroundImg

ResourceStr

顯示圖片地址

N

companyName

string

企業(yè)名稱

N

mfontColor

ResourceColor

企業(yè)名稱字體顏色

N

常見啟動(dòng)頁方法如下表所示:

方法

類型

描述

必填

skip

void

跳轉(zhuǎn)方法

Y

封裝啟動(dòng)頁參數(shù)類代碼如下所示:

export class Splash {
  // 倒計(jì)時(shí)時(shí)長
  timer: number;
  // 顯示Logo
  isLogo?: boolean = false;
  // 頁面顯示圖片
  backgroundImg?: ResourceStr;
  // 企業(yè)名稱
  companyName?: string;
  // 企業(yè)名稱字體顏色
  mFontColor?: ResourceColor;

  constructor(timer: number, isLogo?: boolean, backgroundImg?: ResourceStr,
              companyName?: string, mFontColor?: ResourceColor) {
    this.timer = timer;
    this.isLogo = isLogo;
    this.backgroundImg = backgroundImg;
    this.companyName = companyName;
    this.mFontColor = mFontColor;
  }
}

自定義啟動(dòng)頁組件代碼如下所示:

@Component
export struct SplashPage {

  @State mSplash: Splash = new Splash(3);

  // 跳轉(zhuǎn)方法
  skip: () => void;

  build() {
    // 底部企業(yè)名稱顯示堆疊組件
    Stack({ alignContent: Alignment.Bottom }) {
      // 圖片和倒計(jì)時(shí)跳轉(zhuǎn)頁面堆疊組件
      Stack({ alignContent: Alignment.TopEnd }) {
        if (this.mSplash.isLogo) {
          Image(this.mSplash.backgroundImg).objectFit(ImageFit.None)
        }
        Button(`跳過 | ${this.mSplash.timer} s`, { type: ButtonType.Normal })
          .height(42)
          .padding({ left: 16, right: 16 })
          .margin({ top: 16, right: 16 })
          .fontSize(16).fontColor(Color.White)
          .backgroundColor(Color.Gray)
          .borderRadius(8)
          .onClick(() => {
            this.skip();
          })
      }
      .backgroundImage(this.mSplash.isLogo ? null : this.mSplash.backgroundImg)
      .backgroundImageSize(this.mSplash.isLogo ? null : { width: '100%', height: '100%' })
      .width('100%').height('100%')
      if (this.mSplash.companyName) {
        Text(this.mSplash.companyName)
          .width('100%').height(54)
          .fontColor(this.mSplash.mFontColor)
          .fontSize(14).fontWeight(FontWeight.Bold)
          .textAlign(TextAlign.Center)
      }
    }
    .width('100%').height('100%')
  }

  aboutToAppear() {
    // 倒計(jì)時(shí)處理
    let skipWait = setInterval(() => {
      this.mSplash.timer--;
      if (this.mSplash.timer === 0) {
        clearInterval(skipWait);
        this.skip();
      }
    }, 1000)
  }
}

自定義組件定義完成后,還需要在模塊的index.ets中將組件導(dǎo)出,代碼如下所示:

export { Splash, SplashPage } from './src/main/ets/components/splashpage/SplashPage';

在entry模塊引入自定義模塊teui,打開entry目錄下的package.json并在dependencies依賴列中加入如下代碼:

 
"@tetcl/teui": "file:../teui"

注:其中"@tetcl/teui"中"tetcl/teui"需要和自定義模塊teui中package.json中name屬性一致。若提交到npm中心倉可直接使用"@tetcl/teui": "版本號"方式引入。引入完成后需要執(zhí)行編輯器上的Sync now或者npm install進(jìn)行下載同步。

在具體的頁面中導(dǎo)入自定義啟動(dòng)頁組件代碼如下所示:

import { Splash as SplashObj, SplashPage } from '@tetcl/teui'
import router from '@ohos.router';

注:為了和頁面名稱不沖突,對Splash作別名處理。

在頁面中引入自定義組件SplashPage并填寫相關(guān)屬性值及跳轉(zhuǎn)方法,代碼如下所示:

@Entry
@Component
struct Splash {

  // 跳轉(zhuǎn)到Index頁面
  onSkip() {
    router.replaceUrl({
      url: 'pages/Index'
    })
  }

  build() {
    Row() {
      SplashPage({ mSplash: new SplashObj(5, true, $r('app.media.icon'),
        'xxxx有限公司', 0x666666), skip: this.onSkip})
      // 常規(guī)圖
      // SplashPage({ mSplash: new SplashObj(5, false, $r('app.media.default_bg'), 
      //  'xxxx有限公司', 0xF5F5F5), skip: this.onSkip})
    }
    .height('100%')
  }
}

預(yù)覽效果如下圖所示:

自定義HarmonyOS啟動(dòng)頁組件-開源基礎(chǔ)軟件社區(qū)

自定義HarmonyOS啟動(dòng)頁組件-開源基礎(chǔ)軟件社區(qū)

分享到:
標(biāo)簽:HarmonyOS
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定