鴻蒙NEXT+Flutter開(kāi)發(fā)6-應(yīng)用屬性個(gè)性化

? ? 為了進(jìn)一步表明應(yīng)用的歸屬,需要對(duì)應(yīng)用的各種屬性進(jìn)行調(diào)整填渠,一般包括應(yīng)用的圖標(biāo)稠屠、應(yīng)用名稱(chēng)等蒂窒,并且會(huì)加入歡迎屏改善用戶(hù)打開(kāi)應(yīng)用時(shí)的使用體驗(yàn)。

1.修改應(yīng)用圖標(biāo)

? ? 鴻蒙應(yīng)用的圖標(biāo)文件為app_icon.png蹭睡,其存儲(chǔ)路徑為:ohos/AppScope/resources/base/media/appicon.png善炫,大小為114×114像素勒叠。將其替換為自己的圖標(biāo)文件即可欧漱。

2.修改應(yīng)用標(biāo)題為中文

? ? 修改文件ohos/entry/src/main/resources/zh_CN/element/string.json职抡,將其中名稱(chēng)為EntryAbility_label的值修改為應(yīng)用的中文標(biāo)題:演示1。

{

? ? ? "name": "EntryAbility_label",

? ? ? "value": "演示1"

? ? }

3.修改應(yīng)用切換時(shí)顯示的標(biāo)題

? ? 創(chuàng)建的Flutter應(yīng)用误甚,其默認(rèn)標(biāo)題為“Flutter Demo”缚甩。為了得到更好的一致性,在VS Code中打開(kāi)main.dart文件窑邦,將其中的title項(xiàng)修改為“演示1”蹄胰,在對(duì)應(yīng)用進(jìn)行多語(yǔ)言處理時(shí),將會(huì)講到如何根據(jù)系統(tǒng)語(yǔ)言動(dòng)態(tài)調(diào)整標(biāo)題名稱(chēng)奕翔。

? ? 需要修改的代碼如下:

Widget build(BuildContext context) {

? ? return MaterialApp(

? ? ? title: '演示1', // 默認(rèn)為:Flutter Demo

? ? ? theme: ThemeData(

? ? ? ? // This is the theme of your application.

4.修改應(yīng)用啟動(dòng)時(shí)顯示圖標(biāo)

? ? 在應(yīng)用啟動(dòng)時(shí),鴻蒙NEXT應(yīng)用默認(rèn)顯示應(yīng)用圖標(biāo)作為歡迎屏浩蓉,需要將其修改為自己的圖標(biāo)派继。文件路徑為:ohos/entry/src/main/resources/base/media/icon.png。

5.添加漸變歡迎屏

? ? 由于Flutter窗口加載需要一定的時(shí)間捻艳,步驟4顯示的圖標(biāo)歡迎屏消失之后驾窟,在Flutter主窗口出現(xiàn)之前,還有一個(gè)短暫的時(shí)間顯示為空白屏认轨,比較影響用戶(hù)體驗(yàn)绅络。故可以在Flutter主窗口顯示之前,加入一個(gè)漸進(jìn)漸出的處理嘁字,使得主窗口顯示不是那么突兀恩急。

  使用DevEco Studio打開(kāi)ohos目錄,找到ohos/entry/src/main/ets/pages/index.ets纪蜒,修改build函數(shù)代碼如下:

build() {

? ? ? Stack() {

? ? ? ? FlutterPage({ viewId: this.viewId })

? ? ? ? // 是否需要顯示歡迎屏

? ? ? ? if(this.showSplash)

? ? ? ? {

? ? ? ? ? // 白底

? ? ? ? ? Rect()

? ? ? ? ? ? .fill(Color.White)

? ? ? ? ? ? .width('100%')

? ? ? ? ? ? .height('100%')

? ? ? ? ? // 圖標(biāo)

? ? ? ? ? Image($r('app.media.icon'))

? ? ? ? ? ? .objectFit(ImageFit.None)

? ? ? ? ? ? .borderRadius(500)

? ? ? ? ? ? .rotate({ angle: this.rotateValue })

? ? ? ? ? ? .opacity(this.opacityValue)

? ? ? ? ? ? .offset({ y: `-${'15%'}` })

? ? ? ? ? ? .animation({curve: Curve.EaseOut })

? ? ? ? ? // 應(yīng)用名稱(chēng)

? ? ? ? ? Column() {

? ? ? ? ? ? Text($r('app.string.EntryAbility_label'))

? ? ? ? ? ? ? .fontColor(Color.Black)

? ? ? ? ? ? ? .fontSize('24fp')

? ? ? ? ? ? ? .fontWeight(FontWeight.Medium)

? ? ? ? ? ? // 公司名稱(chēng)

? ? ? ? ? ? Text($r('app.string.vendor_name'))

? ? ? ? ? ? ? .fontSize('16fp')

? ? ? ? ? ? ? .fontColor(Color.Black)

? ? ? ? ? ? ? .margin({ top: '15vp' })

? ? ? ? ? ? // 網(wǎng)址

? ? ? ? ? ? Text('www.cdrviewer.com')

? ? ? ? ? ? ? .fontSize('14fp')

? ? ? ? ? ? ? .fontColor(Color.Black)

? ? ? ? ? ? ? .margin({ top: '15vp' })

? ? ? ? ? }

? ? ? ? ? .rotate({ angle: this.rotateValue })

? ? ? ? ? // 控制透明度

? ? ? ? ? .opacity(this.opacityValue)

? ? ? ? ? .offset({ y: '25%' })

? ? ? ? ? // 控制動(dòng)畫(huà)曲線(xiàn)

? ? ? ? ? .animation({curve: Curve.EaseOut })

? ? ? ? }

? ? ? }

? }

? ? 其中this.showSplash用來(lái)控制是否顯示歡迎屏衷恭,this.opacityValue用來(lái)控制顯示的透明度。在aboutToAppear函數(shù)中啟動(dòng)定時(shí)器纯续,aboutToDisappear函數(shù)中關(guān)閉定時(shí)器随珠。這樣就可以在Flutter主窗口出現(xiàn)之前,有2秒鐘的漸進(jìn)漸出動(dòng)畫(huà)猬错,相對(duì)平滑的過(guò)渡到Flutter的主頁(yè)面窗看。主要代碼如下:

@State countdown: number = 2;

? @State showSplash: boolean = true;

? private timer: number = -1;

? @State animate: boolean = false;

? private opacityValue: number = 0;

? @State rotateValue: number = 0; // Rotation angle of component 1.

? aboutToAppear(): void {

? ? this.startTiming();

? }

? aboutToDisappear() {

? ? this.clearTiming();

? }

? startTiming() {

? ? this.timer = setInterval(() => {

? ? ? this.countdown--;

? ? ? if (this.countdown === 0) {

? ? ? ? this.clearTiming();

? ? ? ? this.showSplash = false;

? ? ? }

? ? ? this.animate = !this.animate;

? ? ? this.opacityValue = this.animate ? 1 : 0.3;

? ? ? this.rotateValue = this.animate ? 0.1 : -0.1;

? ? }, 1000);

? ? setTimeout(()=>{

? ? ? this.animate = !this.animate;

? ? ? this.opacityValue = this.animate ? 1 : 0;

? ? ? this.rotateValue = this.animate ? 0.1 : -0.1;

? ? ? }, 0

? ? );

}

? clearTiming() {

? ? if (this.timer !== -1) {

? ? ? clearInterval(this.timer);

? ? ? this.timer = -1;

? ? }

? }

? ? 歡迎屏頁(yè)面如下所示:

? ? 通過(guò)前面的步驟,這樣一個(gè)個(gè)性化的鴻蒙NEXT應(yīng)用框架就做好了倦炒。其中歡迎屏中圖標(biāo)的大小显沈,以及文字大小位置等,可以根據(jù)自己的需要進(jìn)行調(diào)整析校。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末构罗,一起剝皮案震驚了整個(gè)濱河市铜涉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遂唧,老刑警劉巖芙代,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異盖彭,居然都是意外死亡纹烹,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)召边,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铺呵,“玉大人,你說(shuō)我怎么就攤上這事隧熙∑遥” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵贞盯,是天一觀的道長(zhǎng)音念。 經(jīng)常有香客問(wèn)我,道長(zhǎng)躏敢,這世上最難降的妖魔是什么闷愤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮件余,結(jié)果婚禮上讥脐,老公的妹妹穿的比我還像新娘。我一直安慰自己啼器,他們只是感情好旬渠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著镀首,像睡著了一般坟漱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上更哄,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天芋齿,我揣著相機(jī)與錄音,去河邊找鬼成翩。 笑死觅捆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的麻敌。 我是一名探鬼主播栅炒,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了赢赊?” 一聲冷哼從身側(cè)響起乙漓,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎释移,沒(méi)想到半個(gè)月后叭披,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玩讳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年涩蜘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熏纯。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡同诫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出樟澜,到底是詐尸還是另有隱情误窖,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布秩贰,位于F島的核電站贩猎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏萍膛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一嚷堡、第九天 我趴在偏房一處隱蔽的房頂上張望蝗罗。 院中可真熱鬧,春花似錦蝌戒、人聲如沸串塑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桩匪。三九已至,卻和暖如春友鼻,著一層夾襖步出監(jiān)牢的瞬間傻昙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工彩扔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妆档,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓虫碉,卻偏偏與公主長(zhǎng)得像贾惦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容