鴻蒙OS 組件與布局開發(fā)說明

2020-09-18 11:50 更新

HarmonyOS 提供了 Ability 和 AbilitySlice 兩個(gè)基礎(chǔ)類。有界面的 Ability 綁定了系統(tǒng)的 Window 進(jìn)行 UI 展示,且具有 生命周期。AbilitySlice 主要用于承載 Ability 的具體邏輯實(shí)現(xiàn)和界面 UI,是應(yīng)用顯示、運(yùn)行和跳轉(zhuǎn)的最小單元。 AbilitySlice 通過 setUIContent() 為界面設(shè)置布局。

接口聲明 接口描述
setUIContent(ComponentContainer root) 設(shè)置界面入口,root 為界面組件樹根節(jié)點(diǎn)。

組件需要進(jìn)行組合,并添加到界面的布局中。在Java UI 框架中,提供了兩種編寫布局的方式:

  • 在代碼中創(chuàng)建布局:用代碼創(chuàng)建 Component 和 ComponentContainer 對象,為這些對象設(shè)置合適的布局參數(shù)和屬性值,并將 Component 添加到 ComponentContainer 中,從而創(chuàng)建出完整界面。
  • 在 XML 中聲明 UI 布局:按層級(jí)結(jié)構(gòu)來描述 Component 和 ComponentContainer 的關(guān)系,給組件節(jié)點(diǎn)設(shè)定合適的布局參數(shù)和屬性值,代碼中可直接加載生成此布局。

這兩種方式創(chuàng)建出的布局沒有本質(zhì)差別,在 XML 中聲明布局,在加載后同樣可在代碼中對該布局進(jìn)行修改。

組件分類

根據(jù)組件的功能,可以將組件分為布局類、顯示類、交互類三類:

組件類別 組件名稱 功能描述
布局類 PositionLayout、DirectionalLayout、StackLayout、DependentLayout、TableLayout、AdaptiveBoxLayout 提供了不同布局規(guī)范的組件容器,例如以單一方向排列的 DirectionalLayout、以相對位置排列的 DependentLayout、以確切位置排列的 PositionLayout 等。
顯示類 Text、Image、Clock、TickTimer、ProgressBar 提供了單純的內(nèi)容顯示,例如用于文本顯示的 Text,用于圖像顯示的 Image 等。
交互類 TextField、Button、Checkbox、RadioButton/RadioContainer、Switch、ToggleButton、Slider、Rating、ScrollView、TabList、ListContainer、PageSlider、PageFlipper、PageSliderIndicator、Picker、TimePicker、DatePicker、SurfaceProvider、ComponentProvider 提供了具體場景下與用戶交互響應(yīng)的功能,例如 Button 提供了點(diǎn)擊響應(yīng)功能,Slider 提供了進(jìn)度選擇功能等。

框架提供的組件使應(yīng)用界面開發(fā)更加便利,這些組件的具體功能說明及屬性設(shè)置詳見API參考。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)