鴻蒙OS Java UI框架概述

2020-09-18 11:49 更新

應(yīng)用的 Ability 在屏幕上將顯示一個用戶界面,該界面用來顯示所有可被用戶查看和交互的內(nèi)容。應(yīng)用中所有的用戶界面元素都是由 Component 和 ComponentContainer 對象構(gòu)成。Component 是繪制在屏幕上的一個對象,用戶能與之交互。ComponentContainer 是一個用于容納其他 Component 和 ComponentContainer 對象的容器。

Java UI 框架提供了一部分 Component 和 ComponentContainer 的具體子類,即創(chuàng)建用戶界面(UI)的各類組件,包括一些常用的組件(比如:文本、按鈕、圖片、列表等)和常用的布局(比如:DirectionalLayout 和 DependentLayout)。用戶可通過組件進行交互操作,并獲得響應(yīng)。所有的UI操作都應(yīng)該在主線程進行設(shè)置。

組件和布局

用戶界面元素統(tǒng)稱為組件,組件根據(jù)一定的層級結(jié)構(gòu)進行組合形成布局。組件在未被添加到布局中時,既無法顯示也無法交互,因此一個用戶界面至少包含一個布局。在UI框架中,具體的布局類通常以 XXLayout 命名,完整的用戶界面是一個布局,用戶界面中的一部分也可以是一個布局。布局中容納 Component 與 ComponentContainer 對象。

Component 和 ComponentContainer

  • Component:提供內(nèi)容顯示,是界面中所有組件的基類,開發(fā)者可以給 Component 設(shè)置事件處理回調(diào)來創(chuàng)建一個可交互的組件。Java UI 框架提供了一些常用的界面元素,也可稱之為組件,組件一般直接繼承 Component 或它的子類,如 Text、Image 等。
  • ComponentContainer:作為容器容納 Component 或 ComponentContainer 對象,并對它們進行布局。Java UI 框架提供了一些標(biāo)準(zhǔn)布局功能的容器,它們繼承自 ComponentContainer,一般以“Layout”結(jié)尾,如 DirectionalLayout、DependentLayout 等。

圖1 Component結(jié)構(gòu)

img

LayoutConfig

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

圖2 LayoutConfig

點擊放大

組件樹

布局把 Component 和 ComponentContainer 以樹狀的層級結(jié)構(gòu)進行組織,這樣的一個布局就稱為組件樹。組件樹的特點是僅有一個根組件,其他組件有且僅有一個父節(jié)點,組件之間的關(guān)系受到父節(jié)點的規(guī)則約束。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號