Day2 鸿蒙,从“打工人”看代码创建布局

Day2 打工人.gif

上文档:

HarmonyOS提供了Ability和AbilitySlice两个基础类。有界面的Ability绑定了系统的Window进行UI展示,且具有生命周期。AbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent()为界面设置布局。

组件需要进行组合,并添加到界面的布局中。在Java UI框架中,提供了两种编写布局的方式:

在代码中创建布局:用代码创建Component和ComponentContainer对象,为这些对象设置合适的布局参数和属性值,并将Component添加到ComponentContainer中,从而创建出完整界面。

在XML中声明UI布局:按层级结构来描述Component和ComponentContainer的关系,给组件节点设定合适的布局参数和属性值,代码中可直接加载生成此布局。

这一次为大家带来的就是“在代码中创建布局”。

涵盖核心知识点包括:(实战Demo源码地址:https://github.com/CoderMrYe/HarmonyStudy)

1、创建步骤:

(1)声明布局

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);

你可能感兴趣的:(Day2 鸿蒙,从“打工人”看代码创建布局)