簡單介紹一下Component基礎佈局

千鋒武漢發表於2021-07-30

        鴻蒙系統現已經有超過千萬的使用者升級,後續的使用者數量非常可觀,鴻蒙開發人才數量稀缺,小千精心為大家整理了全套的鴻蒙系統開發教程今天我們介紹一下Component基礎佈局,實現使用者互動非常重要的概念之一,同學們帶好小本本。,

      在HarmonyOS的應用中,所有的使用者互動操作在Ability的應用中,主要是用來顯示所有被檢視和互動的內容的。

      應用中所有的使用者介面元素都是由Component和ComponentContainer物件構成。Component是繪製在螢幕上的一個物件,使用者能與之互動。ComponentContainer是一個用於容納其他Component和ComponentContainer物件的容器。

      Java UI框架提供了一部分Component和ComponentContainer的具體子類,即建立使用者介面(UI)的各類元件,包括一些常用的元件(比如:文字、按鈕、圖片、列表等)和常用的佈局(比如:DirectionalLayout和DependentLayout)。使用者可透過元件進行互動操作,並獲得響應。

      這裡需要強調的是,所有的UI操作都是在主執行緒中執行的。

      元件和佈局

      使用者介面元素統稱為元件,元件根據一定的層級結構進行組合形成佈局。元件在未被新增到佈局中時,既無法顯示也無法互動,因此一個使用者介面至少包含一個佈局。在UI框架中,具體的佈局類通常以XXLayout命名,完整的使用者介面是一個佈局,使用者介面中的一部分也可以是一個佈局。佈局中容納Component與ComponentContainer物件。

      Component和ComponentContainer

      Component:提供內容顯示,是介面中所有元件的基類,開發者可以給Component設定事件處理回撥來建立一個可互動的元件。Java UI框架提供了一些常用的介面元素,也可稱之為元件,元件一般直接繼承Component或它的子類,如Text、Image等。

      ComponentContainer:作為容器容納Component或ComponentContainer物件,並對它們進行佈局。Java UI框架提供了一些標準佈局功能的容器,它們繼承自ComponentContainer,一般以“Layout”結尾,如DirectionalLayout、DependentLayout等。

千鋒IT培訓鴻蒙教程1

      LayoutConfig配置

      每種佈局都根據自身特點提供LayoutConfig和Component設定佈局引數和屬性,透過指定佈局屬性可以對子Component在佈局中顯示效果進行約束,例如:“width”、“height”是最基本的佈局屬性,它們指定了元件的大小。

千鋒IT培訓鴻蒙教程2

      HarmonyOS提供了Ability和AbilitySlice兩個基礎類,一個有介面的Ability可以由一個或多個AbilitySlice構成,AbilitySlice主要用於承載單個頁面的具體邏輯實現和介面UI,是應用顯示、執行和跳轉的最小單元。AbilitySlice透過setUIContent為介面設定佈局。

      AbilitySlice的UI介面

千鋒IT培訓鴻蒙教程3

      元件需要進行組合,並新增到介面的佈局中。在Java UI框架中,提供了兩種編寫佈局的方式:

      在程式碼中建立佈局:用程式碼建立Component和ComponentContainer物件,為這些物件設定合適的佈局引數和屬性值,並將Component新增到ComponentContainer中,從而建立出完整介面。

      在XML中宣告UI佈局:按層級結構來描述Component和ComponentContainer的關係,給元件節點設定合適的佈局引數和屬性值,程式碼中可直接載入生成此佈局。

      元件分類

      根據元件的功能,可以將元件分為佈局類、顯示類、互動類等三類元件:

千鋒IT培訓鴻蒙教程元件分類

      Component基礎佈局

      Component 是所有元件的基類,也就是說所有的元件都是基於這個類來繼承的, Component支援的xml屬性如下表:

      基礎屬性

千鋒IT培訓鴻蒙教程5

      佈局間距

千鋒IT培訓鴻蒙教程6

千鋒IT培訓鴻蒙教程7

      以上就是這一期的鴻蒙開發教程了,Component基礎佈局是很重要的概念,同學們一定要弄懂。

       本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2784271/,如需轉載,請註明出處,否則將追究法律責任。