鴻蒙系統開發教程到了第九期,今天我們繼續給大家介紹Page Ability,喜歡的同學記得保存收藏起來。
Page Ability基本概念
Page和AbilitySlice:Page模板(以下簡稱“Page”)是FA唯一支持的模板,用于提供與用戶交互的能力。一個Page可以由一個或多個AbilitySlice構成,AbilitySlice是指應用的單個頁面及其控制邏輯的總和。
當一個Page由多個AbilitySlice共同構成時,這些AbilitySlice頁面提供的業務能力應具有高度相關性。例如,新聞瀏覽功能可以通過一個Page來實現,其中包含了兩個AbilitySlice:一個AbilitySlice用于展示新聞列表,另一個AbilitySlice用于展示新聞詳情。Page和AbilitySlice的關系如圖所示。
IT培訓鴻蒙教程" />
相比于桌面場景,移動場景下應用之間的交互更為頻繁。通常,單個應用專注于某個方面的能力開發,當它需要其他能力輔助時,會調用其他應用提供的能力。例如,外賣應用提供了聯系商家的業務功能入口,當用戶在使用該功能時,會跳轉到通話應用的撥號頁面。與此類似,HarmonyOS支持不同Page之間的跳轉,并可以指定跳轉到目標Page中某個具體的AbilitySlice。
AbilitySlice之間導航
當發起導航的AbilitySlice和導航目標的AbilitySlice處于同一個Page時,您可以通過present()方法實現導航。如下代碼片段展示通過點擊按鈕導航到其他AbilitySlice的方法:
第一步:創建一個ability_main.xml文件
第二步:創建background_button.xml文件
第三步:在layout目錄下的“ability_main.xml”文件中,使用background_element="$graphic:background_button"的方式引用“background_button.xml”文件:
第四步:分別創建第二個要跳轉的界面和代碼模塊
第五步:實現Ability之間的跳轉
如果開發者希望在用戶從導航目標AbilitySlice返回時,能夠獲得其返回結果,則應當使用presentForResult()實現導航。用戶從導航目標AbilitySlice返回時,系統將回調onResult()來接收和處理返回結果,開發者需要重寫該方法。返回結果由導航目標AbilitySlice在其生命周期內通過setResult()進行設置。
以上就是這一期的鴻蒙開發教程了,下一期我們繼續介紹Page Ability生命周期相關教程內容,喜歡的同學記得關注一下千鋒教育哦。