赞
踩
这种方式也是鸿蒙官方推荐的一个入门应用。
最终效果:
在ability_main.xml中,修改内容如下
在com.huan.myapplication 包下 创建Ability类
创建完毕之后,会发现多了一个xml文件
但我们是用代码去实现的,所以,这个xml文件把它删除
在ability_main.xml 中,发现 DirectionalLayout 中是将所有的功能都给包含起来,类似下图:
来到了 SecondAbilitySlice 页面中,添加如下代码
package com.huan.myapplication.slice; import com.huan.myapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.ability.DataAbilityHelper; import ohos.aafwk.content.Intent; import ohos.agp.components.DirectionalLayout; import ohos.agp.components.Text; import ohos.agp.utils.Color; public class SecondAbilitySlice extends AbilitySlice { @Override public void onStart(Intent intent) { super.onStart(intent); // super.setUIContent(ResourceTable.Layout_ability_secound); //1.创建布局对象 DirectionalLayout d1 = new DirectionalLayout(this);//代表这个对象在当前的类 //2.创建文本对象 Text text = new Text(this); //设置内容 text.setText("爱昊哥么"); //设置文字大小 text.setTextSize(40); //设置文字颜色 text.setTextColor(Color.BLUE); //3.把文本对象,添加到布局中 d1.addComponent(text); //4.把布局添加到子页面当中 super.setUIContent(d1); } @Override public void onActive() { super.onActive(); } @Override public void onForeground(Intent intent) { super.onForeground(intent); } }
代码实现
来到了 MainAbilitySlice 类
package com.huan.myapplication.slice; import com.huan.myapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.aafwk.content.Operation; import ohos.agp.components.Button; import ohos.agp.components.Component; public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener { Button btu ; @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); //1.找到按钮 id btu = (Button) findComponentById(ResourceTable.Id_but1); //2.给按钮添加一个点击事件 //如果没有添加点击事件,那么用鼠标点击按钮之后是没有任何反应的。 //如果我们给按钮添加了点击事件,那么用鼠标点击按钮之后,就可以执行对应的代码 //理解方式: //给btu这个按钮添加了点击事件 //当我们用鼠标点击了btu这个按钮之后,就可以执行本类中onClick方法 btu.setClickedListener(this); } @Override public void onActive() { super.onActive(); } @Override public void onForeground(Intent intent) { super.onForeground(intent); } @Override public void onClick(Component component) { //点击按钮只要执行的代码 //跳转到第二个页面中 if(component == btu){ //只有点击了btu这个按钮之后,才能跳转 //跳转的哪个页面中,(意图) Intent i = new Intent(); //包含了要跳转的页面信息 Operation operation = new Intent.OperationBuilder() .withDeviceId("") //要跳转到哪个设备上,如果传递一个没有内容的字符串,则表示跳转到本机 .withBundleName("com.huan.myapplication")//我要跳转到哪个应用上 .withAbilityName("com.huan.myapplication.SecondAbility")//要跳转的页面 .build();//表示将上面的三个信息进行打包 //把打包后的operation设置到意图当中 i.setOperation(operation); //跳转页面 startAbility(i); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。