阅读(1944)
赞(0)
鸿蒙OS 组件与布局开发说明
2020-09-16 17:30:53 更新
HarmonyOS 提供了 Ability 和 AbilitySlice 两个基础类。有界面的 Ability 绑定了系统的 Window 进行 UI 展示,且具有 生命周期。AbilitySlice 主要用于承载 Ability 的具体逻辑实现和界面 UI,是应用显示、运行和跳转的最小单元。 AbilitySlice 通过 setUIContent() 为界面设置布局。
接口声明 | 接口描述 |
---|---|
setUIContent(ComponentContainer root) | 设置界面入口,root 为界面组件树根节点。 |
组件需要进行组合,并添加到界面的布局中。在Java UI 框架中,提供了两种编写布局的方式:
- 在代码中创建布局:用代码创建 Component 和 ComponentContainer 对象,为这些对象设置合适的布局参数和属性值,并将 Component 添加到 ComponentContainer 中,从而创建出完整界面。
- 在 XML 中声明 UI 布局:按层级结构来描述 Component 和 ComponentContainer 的关系,给组件节点设定合适的布局参数和属性值,代码中可直接加载生成此布局。
这两种方式创建出的布局没有本质差别,在 XML 中声明布局,在加载后同样可在代码中对该布局进行修改。
组件分类
根据组件的功能,可以将组件分为布局类、显示类、交互类三类:
组件类别 | 组件名称 | 功能描述 |
---|---|---|
布局类 | 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 提供了进度选择功能等。 |
框架提供的组件使应用界面开发更加便利,这些组件的具体功能说明及属性设置详见API参考。