创建另一个页面
创建Feature Ability- 在“Project”窗口,打开“entry > src > main > java”,右键点击“com.example.myapplication”文件夹,选择“New > Ability > Empty Feature Ability(Java)”。
- 配置Ability时,将“Page Name”设置为“SecondAbility”,点击“Finish”。创建完成后,可以看到新增了“SecondAbility”和“SecondAbilitySlice”文件。
代码编写界面在上一节中,我们用XML的方式编写了一个包含文本和按钮的页面。为了帮助开发者熟悉在代码中创建布局的方式,接下来我们使用此方式编写第二个页面。
打开 “SecondAbilitySlice.java”文件,添加一个文本,示例代码如下:
- package com.example.myapplication.slice;
- import ohos.aafwk.ability.AbilitySlice;
- import ohos.aafwk.content.Intent;
- import ohos.agp.colors.RgbColor;
- import ohos.agp.components.DependentLayout;
- import ohos.agp.components.DependentLayout.LayoutConfig;
- import ohos.agp.components.Text;
- import ohos.agp.components.element.ShapeElement;
- import ohos.agp.utils.Color;
- import static ohos.agp.components.ComponentContainer.LayoutConfig.MATCH_PARENT;
- import static ohos.agp.components.ComponentContainer.LayoutConfig.MATCH_CONTENT;
- public class SecondAbilitySlice extends AbilitySlice {
- @Override
- public void onStart(Intent intent) {
- super.onStart(intent);
- // 声明布局
- DependentLayout myLayout = new DependentLayout(this);
- // 设置布局大小
- myLayout.setWidth(MATCH_PARENT);
- myLayout.setHeight(MATCH_PARENT);
- ShapeElement element = new ShapeElement();
- element.setRgbColor(new RgbColor(0, 0, 0));
- myLayout.setBackground(element);
- // 创建一个文本
- Text text = new Text(this);
- text.setText("Nice to meet you.");
- text.setWidth(MATCH_PARENT);
- text.setTextSize(55);
- text.setTextColor(Color.WHITE);
- // 设置文本的布局
- DependentLayout.LayoutConfig textConfig = new DependentLayout.LayoutConfig(MATCH_CONTENT,MATCH_CONTENT);
- textConfig.addRule(LayoutConfig.CENTER_IN_PARENT);
- text.setLayoutConfig(textConfig);
- myLayout.addComponent(text);
- super.setUIContent(myLayout);
- }
- @Override
- public void onActive() {
- super.onActive();
- }
- @Override
- public void onForeground(Intent intent) {
- super.onForeground(intent);
- }
- }