HarmonyOS编程 | 页面跳转 | Java注释版 原创 精华
HarmonyOS编程 —— 第一弹
页面跳转
前言
这里有HarmonyOS文档学习 | Page Ability | 思维导图,是关于文档部分的思维导图,页面跳转也是要到里面的知识
本文章只是说明书,是代码的补充部分。不建议仅根据该文进行实践
正确的做法是下载附件中的源码,对照源码和文章的步骤,进行实践复现
页面跳转即AbilitySlice间导航。这部分有两种,一种是同Page里跳转,另一种是不同Page里跳转
下面将介绍这两种的实现方式
正文
1. 同Page跳转的三种实现方式
1.1. 基本实验步骤
1. 在layout文件夹中写xml布局文件
ability_main.xml是主页面,其他三个是要跳转到的页面,可以随便定义内容
2. 在slice中声明创建Slice文件声明调用layout布局文件
3. 在主Slice中,编写业务代码实现跳转(不同的方式实现区别主要在第3个步骤)
1.2. 核心代码部分
1.2.1. 无参跳转
MainAbilitySlice.java
调用present()之后会直接跳转
1.2.2. 带参数跳转
大部分内容和第一个实现差不多,所以就不写注释了
MainAbilitySlice.java
secondAbilitySlice.java
在主页面设置参数存入intent中之后跳转,跳转到目标页面Slice后,读取inent中的参数,从而修改本来的内容
内容由 “第二个页面跳转实现” 变为 “鸿蒙,你好”
1.2.3. 带返回值跳转
(以下代码按步骤实现)
MainAbilitySlice.java
ThridAbilitySlice.java
MainAbilitySlice.java
调用流程如下所示
结果
点击获取密码后,会调用terminate()方法销毁页面。回到主页面同时调用onResult()方法,执行文字拼接
2. 不同Page跳转的两种实现方式
2.1 基本实验步骤
1. 新建Ability,同时DES会自动在layout和slice中创建新的文件
2. 在layout文件夹中写xml布局文件
3. 在slice中声明创建Slice文件声明调用layout布局文件
4. 在主Slice中,编写业务代码实现跳转
2.2. 核心代码部分
2.2.1. 通过 new Intent.OperationBuilder() 方式
MainAbilitySlice.java
结果
2.2.2. 通过 setAction() 方式
第一步:在config中声明SecondAbility的actions
第二步:在SecondAbility中添加Action路由
第三步:在MainAbilitySlice.java中实现不同页面跳转
结果
3. 总结
3.1. 同页面跳转
默认:
带参数:
等待返回值:
3.2. 不同页面跳转
OperationBuilder()方式
setAction()方式
3.3. 差别
有present()、presentForResult()的是同页面跳转
有startAbility()的是不同页面跳转
不同页面跳转推荐使用OperationBuilder()方式,因为这种方式在跨设备调用还需要用。习惯这一种就好了
PS:友情提示
# 图片模糊怎么办?
对图片右键在新窗口打开
对图片右键另存为本地看
# 下面有一个文件
【abilityslice页面跳转.rar】是源码
在专栏中还有大量这样类似的文章,如果觉得对你有用,不妨关注一起学习~
值得学习,很详细
一起学习😋
你这等级升的有点快啊O(∩_∩)O哈哈~
多分享资源,让大家一起下载,然后等级就高了hhh
感谢楼主