harmonyOS应用-认识组件和布局

HarmonyOS应用学习----组件和布局介绍

harmonyOS的学习相关知识点为了自己学习的过程以及学习的问题,为了以后更好的复习和进步, 如有不妥支持,望各位朋友大牛指点一二
该文章主要知识点来自HarmonyOS 官网,记录了认为是关键的一写知识点

一 HarmonyOS环境搭建
参考官网:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/installation_process-0000001071425528

二 HarmonyOS认识和了解组件和布局
1.HarmonyOS提供了Ability和AbilitySlice两个基础类。
2.有界面的Ability绑定了系统的Window进行UI展示.
3.AbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。
4.AbilitySlice通过setUIContent为界面设置布局

接口声明接口描述
setUIContent(ComponentContainer root)设置界面入口,root为界面组件树根节点。

5.组件需要进行组合,并添加到界面的布局中.
6.组建可以在代码中创建布局和在XML中声明UI布局两种方式

三 组件和布局关系
1.应用中所有的用户界面元素都是由Component和ComponentContainer对象构成

2.Component是绘制在屏幕上的一个对象,用户能与之交互。

3.ComponentContainer是一个用于容纳其他Component和ComponentContainer对象的容器。
4.Java UI框架提供了一部分Component和ComponentContainer的具体子类,
即创建用户界面(UI)的各类组件,包括一些常用的组件(比如:文本、按钮、图片、列表等)和常用的布局(DirectionalLayout和DependentLayout)
用户可通过组件进行交互操作,并获得响应。所有的UI操作都应该在主线程进行设置。
------>意味着尽量减少操作的处理时间,避免出现阻塞现象
5.用户界面元素统称为组件,组件根据一定的层级结构进行组合形成布局
组件在未被添加到布局中时,既无法显示也无法交互,因此一个用户界面至少包含一个布局
6.在UI框架中,具体的布局类通常以XXLayout命名,完整的用户界面是一个布局,用户界面中的一部分也可以是一个布局。布局中容纳Component与ComponentContainer对象。

Component:提供内容显示,是界面中所有组件的基类,开发者可以给Component设置事件处理回调来创建一个可交互的组件。Java UI框架提供了一些常用的界面元素,也可称之为组件,组件一般直接继承Component或它的子类,如Text、Image等

7.ComponentContainer:作为容器容纳Component或ComponentContainer对象,并对它们进行布局。
8.Java UI框架提供了一些标准布局功能的容器,它们继承自ComponentContainer,一般以“Layout”结尾,如DirectionalLayout、DependentLayout等
在这里插入图片描述
LayoutConfig
每种布局都根据自身特点提供LayoutConfig供子Component设定布局属性和参数,通过指定布局属性可以对子Component在布局中的显示效果进行约束。例如:“width”、“height”是最基本的布局属性,它们指定了组件的大小

在这里插入图片描述

布局把Component和ComponentContainer以树状的层级结构进行组织,这样的一个布局就称为组件树。组件树的特点是仅有一个根组件,其他组件有且仅有一个父节点,组件之间的关系受到父节点的规则约束。

四 组件分类
根据组件的功能,可以将组件分为布局类、显示类、交互类三类:

组件类别组件名称功能描述
布局类PositionLayout、DirectionalLayout、StackLayout、DependentLayout、TableLayout、AdaptiveBoxLayout提供了不同布局规范的组件容器,例如以单一方向排列的DirectionalLayout、以相对位置排列的DependentLayout、以确切位置排列的PositionLayout等。
显示类Text、Image、Clock、TickTimer、ProgressBar提供了单纯的内容显示,例如用于文本显示的Text,用于图像显示的Image等。
交互类TextField、Button、Checkbox、RadioButton/RadioContainer、Switch、ToggleButton、Slider、Rating、ScrollView、TabList、ListContainer、PageSlider、PageFlipper、PageSliderIndicator、Picker、TimePicker、DatePicker、SurfaceProvider、ComponentProvider提供了具体场景下与用户交互响应的功能,例如Button提供了点击响应功能,Slider提供了进度选择功能等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值