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

2020征文-手機圖解鴻蒙Feature Ability和AbilitySlice的關系

系統
當我們在DevEco Studio中創建一個鴻蒙項目時,如果選擇的設備是手機,并且選擇的模板是Empty Feature Ability(Java),如下圖所示,那么自動生成的Hello World項目中會包含一個MainAbility和一個MainAbilitySlice。

當我們在DevEco Studio中創建一個鴻蒙項目時,如果選擇的設備是手機,并且選擇的模板是Empty Feature Ability(Java),如下圖所示,那么自動生成的Hello World項目中會包含一個MainAbility和一個MainAbilitySlice。接下來,通過兩張圖幫大家理解MainAbility和MainAbilitySlice的關系。


打開MainAbility,它繼承了Ability。鴻蒙手機中的任何一個頁面都可以用一個Ability來表示(確切地說,是Feature Ability)。在頁面啟動時,會自動調用回調方法onStart(),在方法體中再調用方法setMainRoute(),從而路由到MainAbilitySlice。如下圖所示。

打開MainAbilitySlice,它繼承了AbilitySlice。鴻蒙手機中的任何一個子頁面都可以用一個AbilitySlice來表示。在子頁面啟動時,會自動調用回調方法onStart,在方法體中再調用方法setUIContent(),從而設置子頁面中的UI內容。UI內容通過布局文件ability_main.xml來指定,它位于resources/base/layout這個目錄下。如下圖所示。

因此,在主頁面MainAbility中,僅僅是設置了路由。頁面中包含哪些組件,以及每個組件長什么樣,是在子頁面MainAbilitySlice中完成的。

大家來看這張圖:

MainAbility就相當于一扇窗戶,MainAbilitySlice就相當于一張窗貼,兩者組合在一起,就呈現出了一扇有窗貼的窗戶。窗貼中的畫面是印刷在窗貼上的,把畫面印刷到窗貼上,就相當于在MainAbilitySlice中調用方法setUIContent(),從而將布局文件中的組件和樣式應用到MainAbilitySlice中。

大家再來看這張圖:


一扇窗戶可以對應多張窗貼,我們可以從中任意選擇一張窗貼,將其貼在窗戶上。因此,一個Ability可以對應多個AbilitySlice,我們可以從中任意選擇一個AlibitySlice,將其應用到Ability上。

在自動生成的Hello World項目中,是先將畫面印刷到窗貼上,然后將窗貼貼到窗戶上。當然,我們也可以不要窗貼,將畫面直接印刷到窗戶上。因此,AlibitySlice是可選的,可以在Alibity中直接調用方法setUIContent()。

打開MainAbilitySlice,將調用setUIContent()的這行代碼剪切到MainAbility中,替換掉調用setMainRoute()的那行代碼。同時,刪除目錄slice,這樣,其中的MainAbilitySlice也會被刪除。此外,在MainAbility中刪除導入MainAbilitySlice的那行代碼。如下圖所示。


運行結果跟之前是完全相同的。

小結:

AbilitySlice是可選的,其常見的使用場景有兩種:

(1)頁面有多種布局,需要對頁面進行動態布局,每種布局可以對應一個AbilitySlice。

(2)頁面有多個Tab選項卡,需要在多個Tab之間切換,每個Tab可以對應一個AbilitySlice。

源代碼請見附件。

歡迎訂閱我的專欄【圖解鴻蒙】:

https://harmonyos.51cto.com/column/27

©著作權歸作者和HarmonyOS技術社區共同所有,如需轉載,請注明出處,否則將追究法律責任

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-12-28 11:19:06

鴻蒙HarmonyOSPage Abilit

2020-12-28 10:15:18

鴻蒙HarmonyOSListContain

2020-12-22 09:48:18

鴻蒙HarmonyOS應用程序

2020-12-23 11:24:34

鴻蒙開發IDE安裝

2020-12-22 11:20:36

鴻蒙HarmonyOS游戲

2021-01-04 11:44:05

鴻蒙HarmonyOSAbilitySlic

2020-12-04 12:42:59

組件鴻蒙Text

2020-12-23 11:45:27

鴻蒙HarmonyOSTextField組件

2010-04-02 13:13:28

云計算

2020-12-28 11:30:07

鴻蒙HarmonyOS分布式

2020-12-15 09:33:40

鴻蒙Hi3861開發板

2020-12-09 11:53:24

鴻蒙開發HelloWord

2020-12-25 10:39:53

鴻蒙開發JS

2020-12-24 11:24:31

鴻蒙開發JS

2020-12-24 10:05:54

鴻蒙鴻蒙開發Hello World

2021-11-09 09:43:52

鴻蒙HarmonyOS應用

2020-12-23 11:36:23

鴻蒙HarmonyOS應用程序開發

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居

2020-12-16 10:05:48

鴻蒙開發板Onenet平臺

2011-12-07 15:58:25

JavaNIO
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲3p | 国产精品成人一区二区三区吃奶 | 在线免费看黄 | 精品视频久久久久久 | 亚洲成人网在线观看 | 中文字幕在线二区 | 中文精品视频 | 亚洲网站在线观看 | 免费的av网站| 亚洲免费在线 | 欧美理论片在线观看 | 男女下面一进一出网站 | 日韩黄 | 日韩不卡视频在线观看 | 一级黄色淫片 | 99久久婷婷 | 久久久久国产成人精品亚洲午夜 | 伊人网99| 欧美性一区二区三区 | 老司机精品福利视频 | 日韩第一区 | 久久99精品久久久水蜜桃 | 天天干夜夜操视频 | 中文字幕在线免费观看 | 久久精品一区二 | 56pao在线| 国产午夜精品一区二区三区四区 | 成人网av | 亚洲免费av一区 | 精品九九九 | 天天操天天摸天天爽 | 国内精品久久久久久影视8 最新黄色在线观看 | 久久久噜噜噜久久中文字幕色伊伊 | 亚洲狠狠| 在线91| 欧美视频一区二区三区 | 国产精品日日夜夜 | 久久久久久黄 | 久久99精品久久久久久国产越南 | 美女久久久久久久久 | 久久久久久亚洲精品 |