
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
Intent是对象之间传递信息的载体。例如,当MainAbility需要启动另一个SecondAbility时,或者一个MainAbilitySlice需要导航到另一个SecondAbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。
此图描述了 数据单向传递 与 双向传递时 需要调用到的方法。
官网案例链接 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/start-first-page-0000000000038014
MainAbilitySlice具体代码
public class MainAbilitySlice extends AbilitySlice {
HiLogLabel label =new HiLogLabel(HiLog.LOG_APP,0xFFFFF,"CHXI");
@Override
public void onStart(Intent intent) {
super.setUIContent(ResourceTable.Layout_ability_main);
Button button = (Button) findComponentById(ResourceTable.Id_button);
button.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
Intent myIntent = new Intent();
myIntent.setParam("CHXI", "29");
//导航到SecondAbilitySlice,并且携带myIntent
present(new SecondAbilitySlice(), myIntent);
}
});
}
}
SecondAbilitySlice具体代码
HiLogLabel label = new HiLogLabel(HiLog.LOG_APP,0xFFFFF,"CHXI29");
@Override
public void onStart(Intent intent) {
super.onStart(intent);
// 声明布局
DependentLayout myLayout = new DependentLayout(this);
// 设置布局宽高
myLayout.setWidth(DependentLayout.LayoutConfig.MATCH_PARENT);
myLayout.setHeight(DependentLayout.LayoutConfig.MATCH_PARENT);
// 设置布局背景为白色
ShapeElement background = new ShapeElement();
background.setRgbColor(new RgbColor(255, 255, 255));
myLayout.setBackground(background);
// 创建一个文本
Text text = new Text(this);
text.setText("Hi there ~");
text.setWidth(DependentLayout.LayoutConfig.MATCH_PARENT);
text.setTextSize(70);
text.setTextColor(Color.BLACK);
//设置按钮背景色
ShapeElement backgroundbutton = new ShapeElement();
backgroundbutton.setRgbColor(new RgbColor(0,200,200));
//创建一个buttonon
Button button = new Button(this);
button.setBackground(backgroundbutton);
button.setText("按钮");
button.setTextSize(100, Text.TextSizeType.PX);
//添加单击事件
button.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
//根据key获取myIntent里面value 并展示到text中
String str = intent.getStringParam("CHXI");
text.setText(str);
}
});
// 设置文本的布局
DependentLayout.LayoutConfig textConfig = new DependentLayout.LayoutConfig(DependentLayout.LayoutConfig.MATCH_CONTENT, DependentLayout.LayoutConfig.MATCH_CONTENT);
textConfig.addRule(DependentLayout.LayoutConfig.CENTER_IN_PARENT);
DependentLayout.LayoutConfig butconfig = new DependentLayout.LayoutConfig(DependentLayout.LayoutConfig.MATCH_CONTENT,DependentLayout.LayoutConfig.MATCH_CONTENT);
text.setLayoutConfig(textConfig);
//设置按钮布局
butconfig.setMarginLeft(100);
butconfig.setMarginTop(1300);
button.setLayoutConfig(butconfig);
myLayout.addComponent(button);
myLayout.addComponent(text);
super.setUIContent(myLayout);
}
–后续继续完善