【鴻蒙應用開發】第三章 「顏控」時代下如何構建UI界面

爲何是第三章,前面兩章呢?程序員

本來是以碎片化的方式將HarmonyOS應用開發快速掌握,可是在準備六大布局組合複雜UI界面Demo時,不少組件以前都沒有應用。所以準備將知識體系進行細化,以章節的形式但願可以將整個HarmonyOS應用開發簡單化,下降學習複雜度。爲何是從第三章開始?由於前兩章是一些理論性的知識,後續會抽時間整理髮文。app

一、本章主要內容函數

一款優秀的app,不只僅在於它提供的業務功能,還要有新穎的、美觀的、易操做的UI界面,可以給用戶全新的,直觀的可視化操做,所以app UI界面的美觀和功能同等重要。佈局

 

對於程序員來講,通常注重的是應用自己的功能要點,這個功能是如何實現的,那個功能頗有特點,可是用戶羣體並不只僅是程序員,對於大衆用戶而言,他們所關注的僅僅是界面美不美,交互操做是否流暢,操做流程是否簡單,能不能達到所指望的效果。因此用戶只關注的是UI界面。學習

 

UI界面是呈如今用戶面前,顯示屏上的圖形,用於給用戶展現信息或者提供可交互方式。UI界面是由一個或者多個元素構成,如HelloWorld示例,顯示Hello World字樣的界面是由Text組件構成,咱們能夠說這個UI界面是由一個元素構成。再好比咱們的登陸 頁面,由用戶帳號輸入框、密碼輸入框、驗證碼輸入框、以及登陸 按鈕,雖然它的UI界面上有兩種類型的組件,但咱們不能說它是由兩個元素構成,它是由四個元素構成,元素的數量不能由於種類的重複而減小。spa

所以咱們在本章節須要掌握構成頁面的元素。UI界面的元素被統稱爲組件,組件根據必定的層級結構組合在一塊兒造成佈局。組件在沒有添加到任何的佈局時,既沒法顯示也沒法交互,所以一個UI界面至少要包含一個顯示狀態的佈局。因此在接下來的小節中咱們將詳細的說明構成UI界面的佈局和組件。對象

 

二、HarmonyOS應用中的佈局和組件blog

HarmonyOS應用的Ability在屏幕上將顯示一個UI界面,這個界面用來顯示可被用戶查看和交互的內容。在HarmonyOS應用中UI界面是由Component(組件)和ComponentContainer(組件容器,也可稱爲佈局)構成。組件是繪製在屏幕上的對象(也可稱爲元素),分爲兩類,一類是顯示類,另外一類是交互類。佈局時容納其餘佈局和組件的容器,能夠管理組件的排列方式等屬性,也能夠經過複雜的組合來實現複雜的UI界面。繼承

 

在HarmonyOS應用中,ComponentContainer是Component類子類,也就是說組件容器能夠看作特殊的組件,只不過它是由一個或多個佈局或組件構成。事件


Component是UI界面中全部組件的基類,UI界面中的組件通常直接繼承或間接繼承Component類或者它的子類,開發者能夠給Component設置事件處理回調來建立一個可交互的組件,存在哪些監聽函數,咱們在後面小節來詳細瞭解。

 

ComponentContainer做爲容器容納Component(組件)或ComponentContainer(組件容器)對象,並對它進行佈局。

 

UI界面中,先有組件容器(佈局),在組件容器中容納一個或多個組件或者組件容器,對它們進行樣式定義,即完善UI界面。

Component結構(引自官文)

三、公共的佈局屬性和參數

每種佈局都根據自身特色提供LayoutConfig內部類,這個內部類繼承ComponentContainer.LayoutConfig類,其功能是供子組件設定佈局屬性和參數,經過指定佈局屬性能夠約束子組件在佈局中的顯示效果。例如:設置佈局寬高爲MATCH_PARENT(佔滿整個屏幕),設置子組件Text寬高爲MATCH_CONTENT(按照內容大小呈現),同時你也能夠給定固定的寬高值。在六大布局中,寬高都是共有的屬性,同時也爲不一樣場景的佈局提供了特殊的屬性,好比DirectionalLayout(線性佈局)中提供了weight屬性,用於設置權重,而其餘佈局中就沒有權重的說法。

 

章節前述暫到這裏,本前述是咱們瞭解UI界面中組件和佈局的理論性知識,從下節開始咱們將詳細來講說各種組件和佈局。

 

做者:IT明

想了解更多內容,請訪問: 51CTO和華爲官方戰略合做共建的鴻蒙技術社區https://harmonyos.51cto.com

相關文章
相關標籤/搜索