[文章]HarmonyOS创建另一个页面

阅读量0
0
1
创建另一个页面
创建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);
  •     }
  • }

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友