成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

自定義HarmonyOS啟動頁組件

系統 OpenHarmony
啟動頁作為應用程序首次出現的頁面,該頁面提供一些預加載數據的提前獲取,防止應用程序出現白屏等異常,如是否第一次訪問應用程序并開啟應用歡迎頁;判斷用戶登錄信息進行頁面跳轉;消息信息懶加載等。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

啟動頁作為應用程序首次出現的頁面,該頁面提供一些預加載數據的提前獲取,防止應用程序出現白屏等異常,如是否第一次訪問應用程序并開啟應用歡迎頁;判斷用戶登錄信息進行頁面跳轉;消息信息懶加載等。

常見啟動頁參數如下表所示:

屬性

類型

描述

必填

timer

number

倒計時時長,默認3秒

Y

isLogo

boolean

顯示圖片類型。

false:常規圖,默認;

true:logo圖

N

backgroundImg

ResourceStr

顯示圖片地址

N

companyName

string

企業名稱

N

mfontColor

ResourceColor

企業名稱字體顏色

N

常見啟動頁方法如下表所示:

方法

類型

描述

必填

skip

void

跳轉方法

Y

封裝啟動頁參數類代碼如下所示:

export class Splash {
// 倒計時時長
timer: number;
// 顯示Logo
isLogo?: boolean = false;
// 頁面顯示圖片
backgroundImg?: ResourceStr;
// 企業名稱
companyName?: string;
// 企業名稱字體顏色
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;
}
}

自定義啟動頁組件代碼如下所示:

@Component
export struct SplashPage {

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

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

build() {
// 底部企業名稱顯示堆疊組件
Stack({ alignContent: Alignment.Bottom }) {
// 圖片和倒計時跳轉頁面堆疊組件
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() {
// 倒計時處理
let skipWait = setInterval(() => {
this.mSplash.timer--;
if (this.mSplash.timer === 0) {
clearInterval(skipWait);
this.skip();
}
}, 1000)
}
}

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

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": "版本號"方式引入。引入完成后需要執行編輯器上的Sync now或者npm install進行下載同步。

在具體的頁面中導入自定義啟動頁組件代碼如下所示:

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

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

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

@Entry
@Component
struct Splash {

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

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

預覽效果如下圖所示:

自定義HarmonyOS啟動頁組件-開源基礎軟件社區

自定義HarmonyOS啟動頁組件-開源基礎軟件社區

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2022-04-24 15:17:56

鴻蒙操作系統

2021-11-01 10:21:36

鴻蒙HarmonyOS應用

2022-10-26 15:54:46

canvas組件鴻蒙

2022-10-25 15:12:24

自定義組件鴻蒙

2022-07-15 16:45:35

slider滑塊組件鴻蒙

2021-09-15 10:19:15

鴻蒙HarmonyOS應用

2022-06-30 14:02:07

鴻蒙開發消息彈窗組件

2022-02-21 15:16:30

HarmonyOS鴻蒙操作系統

2022-06-20 15:43:45

switch開關鴻蒙

2021-12-21 15:22:22

鴻蒙HarmonyOS應用

2022-07-06 20:24:08

ArkUI計時組件

2021-11-22 10:00:33

鴻蒙HarmonyOS應用

2022-02-16 16:09:12

鴻蒙游戲操作系統

2021-12-24 15:46:23

鴻蒙HarmonyOS應用

2022-02-16 15:25:31

JS代碼Canvas鴻蒙

2022-07-12 16:56:48

自定義組件鴻蒙

2022-06-23 07:23:34

自定義組件計時器

2021-01-11 11:36:23

鴻蒙HarmonyOSApp開發

2009-06-24 15:13:36

自定義JSF組件

2022-05-20 14:34:20

list組件鴻蒙操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男人的天堂中文字幕 | 在线观看免费福利 | 久久综合伊人 | 欧美日产国产成人免费图片 | 亚洲国产精品一区二区三区 | 91在线免费视频 | 亚洲男人的天堂网站 | 91传媒在线播放 | 黄色网址在线播放 | 日本免费黄色一级片 | 国产99久久精品一区二区永久免费 | 日韩中文字幕在线不卡 | 黄色大片毛片 | 欧美国产日韩在线 | 欧美视频在线一区 | 日韩电影免费观看中文字幕 | 一区视频在线 | 亚洲精彩免费视频 | 久久国产精品色av免费观看 | 欧洲精品在线观看 | 欧美精品一区二区三区四区 在线 | 久久久久亚洲精品 | 中文字幕视频在线免费 | 操操日 | 九色在线视频 | 懂色tv| 久久久精品一区二区三区 | 亚洲欧美一区二区三区在线 | 国产日产精品一区二区三区四区 | 97人人澡人人爽91综合色 | 色男人天堂av | 亚洲人成人一区二区在线观看 | 久久久www成人免费精品 | 日韩在线精品视频 | 一区二区三区久久久 | 日韩精品免费在线观看 | 免费av观看| 综合久久99| 欧美成人一区二区三区 | 欧美极品在线观看 | 人人艹人人爽 |