HarmonyOS学习02 —— 基础组件

301 阅读4分钟

官方文档

HarmonyOS各种组件、组件各种属性 使用说明

组件根据功能可以分为以下五大类:基础组件、容器组件、媒体组件、绘制组件、画布组件。

layoutWeight:父容器尺寸确定时,设置了layoutWeight属性的子元素与兄弟元素占主轴尺寸按照权重进行分配,忽略元素本身尺寸设置,表示自适应占满剩余空间。 Blank:空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column/Flex时生效。

一:基础组件:
组件名功能
Blank空白填充组件 具有自动填充容器空余部分的能力。仅当父组件为Row/Column时生效。
Button按钮组件
Checkbox提供多选框组件
CheckboxGroup多选框群组,用于控制多选框全选或者不全选状态。
DataPanel将多个数据占比情况使用 占比图进行展示组件
DatePicker选择 日期的滑动选择器
Divider分隔器组件,分隔不同内容块/内容元素。
Gauge将数据展示为 环形图表
Image本地图片和网络图片的渲染展示。
ImageAnimator提供 帧动画组件 来实现逐帧播放图片的能力
LoadingProgress显示 加载动效的组件
Marquee跑马灯组件,用于 滚动展示一段单行文本
NavigationNavigation组件一般作为Page页面的根容器,通过属性设置来展示页面的标题、工具栏、菜单。
PatternLock图案密码锁组件
Progress进度条组件,用于显示内容加载或操作处理等进度 (线条形状、环形、刻度。。。多种样式进度组件)
QRCode单个 二维码的组件
Radio单选框,提供相应的用户交互选择项 (圆形 单选框)
RichText富文本组件, 解析并显示HTML格式文本
ScrollBar滚动条组件ScrollBar,用于配合可滚动组件使用,如List、Grid、Scroll。
Search搜索框组件
Select下拉选择菜单,可以让用户在多个选项之间选择
Slider滑动条组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景。
Span作为Text组件的子组件,用于显示行内文本的组件。
Stepper(类似 卡片滑动组件 )步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景。
StepperItem用作Stepper组件页面的子组件
Text显示一段文本
TextArea可以 输入多行文本并支持响应部分输入事件的组件
TextInput单行文本输入框组件。
TextPicker滑动选择文本内容的组件(单个滚动轮选择器)
TextTimer通过文本显示计时信息并控制其计时器状态的组件 (自带倒计时的文本控件)。
TimerPicker滑动选择时间的组件 (选择当天时间的选择器)。
Toggle组件提供勾选框样式、状态按钮样式及 开关样式组件
Web具有网页显示能力的 Web组件Web组件使用文档-包含web原生交互方法、http请求

组件通用属性:

组件通用属性.png

容器组件:


Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用。另外 这些都可以通过 「内外间距」进行手动布局! 容器组件.png

其他功能组件

其他功能组件.png

1> 图片组件: Image使用.png

图片网络加载权限.png

2> 文本组件: Text使用.png

Text.png 设置文本行数和断行截取样式:
Text('This is the text content of Text Component This is the text content of Text Component') .fontSize(16) .maxLines(1) .textOverflow({overflow:TextOverflow.Ellipsis})

使用decoration设置文本装饰线样式及其颜色:
Text('HarmonyOS') .fontSize(20) .decoration({ type: TextDecorationType.Underline, color: Color.Black }) .backgroundColor(0xE6F2FD)

3> 输入框组件: 输入框使用.png

设置光标位置
可以使用TextInputController动态设置光位置,下面的示例代码使用TextInputController的caretPosition方法,将光标移动到了第二个字符后。 : this.textField.caretPosition(2)

4> 按钮组件: 按钮.png

内部子组件.png

5> LoadingProgress组件:

Loading组件.png

Watch用于监听状态变量的变化.png

二:页面布局:Column & Row 三个共同属性——> space:初始化设置子组件间距、justifyContent:主轴布局、alignItems:交叉轴布局

页面布局拆分.png

布局方向1.png

布局方向2.png

子组件布局控制.png

页面布局参照.png

页面级变量的状态管理

页面级变量的状态管理.png

Watch用于监听状态变量的变化

Watch用于监听状态变量的变化.png