Day3 鸿蒙,用XML创建布局来开发是不是就简单一点-LMLPHP Day3 鸿蒙,用XML创建布局来开发是不是就简单一点-LMLPHP 上文档:

HarmonyOS提供了Ability和AbilitySlice两个基础类。有界面的Ability绑定了系统的Window进行UI展示,且具有生命周期。AbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent()为界面设置布局。 组件需要进行组合,并添加到界面的布局中。在Java UI框架中,提供了两种编写布局的方式:

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

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

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

涵盖核心知识点包括:

1、创建步骤:

(1)加载XML布局作为根布局

super.setUIContent(ResourceTable.Layout_first_layout);

(2)查找布局中组件

Button button = (Button) findComponentById(ResourceTable.Id_button);

(3)设置组件的属性

ShapeElement background = new ShapeElement(); background.setRgbColor(new RgbColor(0,125,255)); background.setCornerRadius(25); button.setBackground(background); button.setClickedListener(new Component.ClickedListener() { @Override // 在组件中增加对点击事件的检测 public void onClick(Component Component) { // 此处添加按钮被点击需要执行的操作 } });

2、XML中创建布局与代码创建布局差异点:

(1)代码创建布局,需要首先初始化布局,设置布局的属性,这个过程在XML创建布局中是通过创建修改XML来实现;

(2)代码创建布局,其组件都来源于XML,声明组件只要将在布局中根据ID寻找组件即可;

03-26 13:55