`
视图查看效果了。
点击按钮,可以把设置好的值传递到另外一个界面进行展示。
MainAbilitySlice.java 文件
package com.example.ability_ui_demo.slice;
import com.example.ability_ui_demo.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.*;
import ohos.agp.components.element.ShapeElement;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
public class MainAbilitySlice extends AbilitySlice {
private static HiLogLabel c_hll = new HiLogLabel(HiLog.LOG_APP,0x0908,"T.F.xie");
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
setUIContent(ResourceTable.Layout_ability_main);
Text text = (Text)findComponentById(ResourceTable.Id_test_text);
Button button = (Button) findComponentById(ResourceTable.Id_test_button);
ShapeElement element = new ShapeElement();
element.setCornerRadius(18);
element.setRgbColor(new RgbColor(43,156,15));
//调用上面设置的颜色
button.setBackground(element);
//给按钮设置监听器
button.setClickedListener(new Component.ClickedListener() {
//定义一个成员变量
private int a =0;
@Override
public void onClick(Component component) {
//每当按钮被点击了 a++
a++;
//改变文本框上面的内容
text.setText("Clicked:"+a);
//创建intent对象
Intent intent1 = new Intent();
intent.setParam("p1",123);
intent.setParam("p2",0.123f);
intent.setParam("p3","小黑");
//单向消息传递
// present(new TargetSlice(),intent);
//双向消息传递
presentForResult(new TargetSlice(),intent,0);//requestCode是id
}
});
}
@Override
protected void onResult(int requestCode,Intent intent){
if (requestCode == 0){
String s = intent.getStringParam("result");
HiLog.info(c_hll,"MainAbilitySlice.onStar()");
}
}
}
TargetSlice.java
package com.example.ability_ui_demo.slice;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.*;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.Color;
import ohos.agp.utils.TextAlignment;
public class TargetSlice extends AbilitySlice {
//定义一个容器对象,使用绝对定位来管理组件容器
ComponentContainer container = new PositionLayout(this);
@Override
public void onStart(Intent intent) {
super.onStart(intent);
//设置容器宽高,宽高和设备屏幕一样宽,一样高
container.setWidth(ComponentContainer.LayoutConfig.MATCH_PARENT);
container.setHeight(ComponentContainer.LayoutConfig.MATCH_PARENT);
ShapeElement element = new ShapeElement();
String data = "";
data += intent.getIntParam("p1",0);
data +=" " + intent.getFloatParam("p2",0);
data +=" " + intent.getStringParam("p3");
//创建一个文本框对象
Text text = new Text(this);
//显示文本框要展示的内容和信息
text.setText(data);
//设置位置和大小
text.setTop(200);//y
text.setLeft(100);//x
text.setWidth(300);//w
text.setHeight(40);//h
text.setTextColor(Color.RED);//设置颜色
text.setTextSize(36);//字体大小
text.setTextAlignment(TextAlignment.CENTER);//设置文本对齐方式
container.addComponent(text);
super.setUIContent(container);
}
//投递包裹
@Override
public void onActive() {
super.onActive();
Intent intent = new Intent();
intent.setParam("result","蛟龙腾飞");
setResult(intent);
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
`