上文档:git
HarmonyOS提供了Ability和AbilitySlice两个基础类。有界面的Ability绑定了系统的Window进行UI展现,且具备生命周期。AbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice经过setUIContent()为界面设置布局。github
组件须要进行组合,并添加到界面的布局中。在Java UI框架中,提供了两种编写布局的方式:框架
在代码中建立布局:用代码建立Component和ComponentContainer对象,为这些对象设置合适的布局参数和属性值,并将Component添加到ComponentContainer中,从而建立出完整界面。布局
在XML中声明UI布局:按层级结构来描述Component和ComponentContainer的关系,给组件节点设定合适的布局参数和属性值,代码中可直接加载生成此布局。对象
这一次为你们带来的就是“在代码中建立布局”。blog
涵盖核心知识点包括:(实战Demo源码地址:https://github.com/CoderMrYe/HarmonyStudy)生命周期
一、建立步骤:文档
(1)声明布局get
DirectionalLayout directionalLayout = new DirectionalLayout(getContext());源码
(2)设置布局大小
directionalLayout.setWidth(ComponentContainer.LayoutConfig.MATCH_PARENT); directionalLayout.setHeight(ComponentContainer.LayoutConfig.MATCH_PARENT);
(3)设置布局属性及ID(ID视须要设置便可)
directionalLayout.setOrientation(Component.VERTICAL); directionalLayout.setPadding(32, 32, 32, 32);
(4)组件建立
Text text = new Text(getContext()); //组件初始化 text.setText("???");//组件属性设置 text.setTextSize(50); text.setId(100);
(5)为组件添加对应布局的布局属性
DirectionalLayout.LayoutConfig layoutConfig = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT); layoutConfig.alignment = LayoutAlignment.HORIZONTAL_CENTER; text.setLayoutConfig(layoutConfig);
(6)将组件添加到布局中(多个组件,重复步骤456)
directionalLayout.addComponent(text);
(7)将布局做为根布局添加到视图树中
super.setUIContent(directionalLayout);
本文由博客一文多发平台 OpenWrite 发布!