超超超简单的HarmonyOS入门应用——页面跳转——笔记(1)

1 篇文章 1 订阅
订阅专栏
本文详细介绍了如何在鸿蒙系统中实现页面跳转,包括页面跳转的概论、步骤、所需准备、布局编写方法及具体实现。通过XML和JAVA代码,创建并连接两个页面,实现按钮点击后的页面切换。适合初学者了解鸿蒙应用开发。
摘要由CSDN通过智能技术生成

一、页面跳转概论

页面跳转这个应用主要是用于给用户点击一个按钮然后,页面从第一个页面跳转到第二个页面。
我们常见的应用有:当我们逛淘宝的时候,看到一个自己心仪的商品,点击这个商品图片或者商品名字,即可跳转到商品购买页面,这主要也是页面的跳转

二、页面跳转步骤

实现步骤

  1. 编写第一个页面(文本 + 按钮)
  2. 编写第二个页面(文本)
  3. 给按钮添加一个跳转

三、实现页面跳转需要的准备

  1. DevEco Studio 2.1.0.501 x64(下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download)
  2. JAVA基础(编程所需的语言是JAVA语言,不熟悉或者不懂JAVA基础的会比较难受)
  3. 华为账号(上华为官网注册一个即可,编译器所用到的华为设备模拟器需要登录华为账号才能使用)

四、页面跳转布局编写方法

在鸿蒙UI中,有两种编写布局的方式:

  1. XML文件 XML文件里面有不同标签,不同标签表示不同的内容(例如/< Text > 文本、 < Image >图片、 < Button >按钮)
  2. JAVA代码 用不同的对象表示要展示不同的内容(例如Text对象表示文本、 Image对象表示图片、 Button对象表示按钮)

在实现页面跳转的代码实现时候,第一个页面将会使用XML文件来实现,而第二个页面则使用JAVA代码来实现

五、页面跳转具体实现

1、创建鸿蒙项目

选择Create HarmonyOS Project
在这里插入图片描述

然后选择第二个Empty Ability接着点击Next
在这里插入图片描述
该应用主要应用在手机上,所以选择Phone
在这里插入图片描述
点击Finish等待几秒生成相关文件即可

2、通过编写XML文件实现第一个页面

在生成的文件中,已经默认生成了一个页面MainAbliity
因此,想要修改该页面,只需要修改对应的XML文件即可

在这里插入图片描述
原本XML文件只有一个< Text >标签,因此我们只要在修改< Text >标签里面的文本信息从HelloWorld修改成“第一个页面”即可
在这里插入图片描述

在这里插入图片描述

在这下面再写一个Button,在该页面增加一个按钮

   <Button
    <Button
        ohos:id="$+id:but1"    <!--给这个按钮起一个名字-->
        ohos:height="match_content"
        ohos:width="match_content"  <!--高和宽都写成match_content, 表示包裹内容,表示按钮里面的文字有多少,按钮就有多大-->
        ohos:background_element="red"   <!--按钮颜色-->
        ohos:text_size="40fp"   <!--文本大小-->
        ohos:text="点我"/>    <!--按钮文本信息-->

白嫖代码的童鞋注意要把注释去掉,不然会报错喔,这是只是为了方便解释(建议自己敲一遍)!!!
在这里插入图片描述
这时候我们运行试一试,点击Tools
在这里插入图片描述
在这里插入图片描述
随便选择一台你喜欢的手机(这里我用的是P40)
在这里插入图片描述

运行即可
在这里插入图片描述
这样第一个页面就大功告成了!!!!
在这里插入图片描述

3、通过JAVA编写第二个页面

首先新建一个页面(JAVA)
在这里插入图片描述
在这里插入图片描述
因为是要用JAVA编写,所以我们需要把第二个页面的XML文件删除
在这里插入图片描述
在第二个页面的切片编写代码实现第二个页面
在这里插入图片描述

package com.example.test_02.slice;

import com.example.test_02.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
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_second);

        //1.创建布局对象
        DirectionalLayout dl = new DirectionalLayout(this);

        //2.创建文本对象
        Text t = new Text(this);

        //设置文本内容
        t.setText("第二个页面");

        //设置文本文字大小
        t.setTextSize(50);

        //设置文本文字颜色
        t.setTextColor(Color.YELLOW);

        //3.把文本信息添加到布局当中
        dl.addComponent(t);

        //4.把布局添加到子页面当中
        super.setUIContent(dl);
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

4、给第一个页面的按钮添加跳转

在MainAbilitySlice编写跳转的代码
在这里插入图片描述

package com.example.test_02.slice;

import com.example.test_02.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.给按钮添加一个点击事件
        //只有给按钮田间一个点击事件,当鼠标点击后才会执行相对应的代码
        //鼠标点击了这个按钮之后,就会执行本类中的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.example.test_02")//跳转到哪个应用上
                    .withAbilityName("com.example.test_02.SecondAbility")//要跳转的页面
                    .build();


            //把打包后的operation设置到意图中
            i.setOperation(operation);

            //跳转页面
            startAbility(i);
        }
    }
}

编写完跳转代码之后,运行代码,即可实现最简单的跳转页面功能
在这里插入图片描述
在这里插入图片描述

鸿蒙OS应用开发之——页面间跳转(1),2024年最新HarmonyOS鸿蒙 hashmap面试
2401_84187563的博客
04-16 944
/ 通过AbilitySlice的startAbility接口实现启动另一个页面。(img-VCRdE7Mk-1713219224928)]// // 设置布局背景为白色。// // 设置文本的布局。// // 设置布局大小。// // 创建一个文本。
HarmonyOS应用开发基础—页面跳转三种类型九种跳转方式
明宇逸风的博客
09-22 1985
HarmonyOS应用开发基础——页面跳转三种类型九种跳转方式 HarmonyOS应用开发基础HarmonyOS应用开发基础——页面跳转三种类型九种跳转方式AbilityAbility概述Ability分类FA(Feature Ability)PA(Particle Ability)IntentIntent概述Intent详解跳转跳转方式跳转风格熟悉跳转方式(跳转风格一)运行截图无参数无返回值跳转有参数无返回值跳转有参数有返回值跳转具体实现跳转风格二跳转风格三 Ability 一定有同学好奇,为什么我来看页
鸿蒙UI系统组件12——页面间跳转(router)
最新发布
harmonyClassRoom的博客
07-31 1904
实际的APP开发中,几乎都会遇到有多个页面跳转的情况,例如,登录 -> 首页 -> 个人中心。在鸿蒙开发中,页面间的跳转被称作为“页面路由”。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回和页面返回前增加一个询问框几个方面介绍Router模块提供的功能。自定义询问框的方式,可以使用弹窗或者自定义弹窗实现。这样可以让应用界面与系统默认询问框有所区别,提高应用的用户体验度。本文以弹窗为例,介绍如何实现自定义询问框。
HarmonyOS 页面跳转
丿灬安之若死
04-23 687
修改默认Main的布局 <?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:alignment="center" ohos:orientation="vertical"&gt
鸿蒙HarmonyOS实战-UIAbility页面跳转
shudaoshanQAQ的博客
01-11 2603
UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。
HarmonyOS页面跳转
BDawn的专栏
09-13 537
HarmonyOS页面跳转 HarmonyOS的页面调整可以分为两种类型: 页面内跳转,也就是同一个Ability的Slice之间的跳转 页面间调整,不同Ability页面之间的跳转 同一个Ability的Slice之间的跳转 跳转接口: // 直接跳转到TargetSlice present(new TargetSlice(), new Intent()); // 跳转到TargetSlice,在TargetSlice销毁时回调onResult函数, // 并获取在TargetSlice通
鸿蒙HarmonyOS实战-Web组件(页面跳转和浏览记录)_鸿蒙跳转浏览器
2401_84164527的博客
04-12 1403
页面跳转是指在浏览器中从当前页面跳转到另一个页面的操作。可以通过点击链接、输入网址、提交表单等方式实现页面跳转。浏览记录是指记录用户在浏览器中浏览过的页面的历史记录。当用户跳转到一个新页面时,该页面会被加入浏览记录中,用户可以通过浏览器的后退按钮或者浏览历史列表来查看和访问之前浏览过的页面。浏览器通常提供了前进和后退按钮来实现页面的跳转操作,用户可以通过点击这些按钮来在浏览记录中切换页面。另外,还可以通过浏览历史列表来查看和访问之前浏览过的页面,也可以通过在地址栏中直接输入网址来实现页面跳转
鸿蒙HarmonyOS实战-UIAbility页面跳转_鸿蒙os开发uiabillty之间的跳转
2401_84181108的博客
04-21 847
android.settings.INPUT_METHOD_SUBTYPE_SETTINGS 【API 11及以上】 // 跳转 语言选择界面 【多国语言选择】android.settings.NFC_SETTINGS 显示NFC设置。android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS 跳转应用程序界面【所有的】android.settings.INTERNAL_STORAGE_SETTINGS 跳转存储设置界面【内部存储】
HCIA-HarmonyOS应用开发工程师 V2.0 模拟考试
10-13
这个初级认证主要涉及HarmonyOS的基础架构、组件使用、页面跳转、权限管理、应用结构以及开发工具的使用。 1. 页面跳转分为页面内跳转和页面间跳转。页面内跳转发生在同一个Ability内部,可以通过Router或...
HarmonyOS鸿蒙)——全面入门,始于而不止于HelloWorld
热门推荐
Java框架、并发编程、分布式、微服务、Redis、HarmonyOS、中间件等技术
08-01 6万+
目录 一、前言 二、创建并运行项目 2.1 创建项目 2.2 开启远程模拟器 2.3 运行项目 三、Ability&页面的初步认识 3.1、简介 3.1.1 什么是页面 3.1.2HarmonyOS鸿蒙)中的页面 3.2、Ability 3.2.1 简介 3.2.2 Page Ability 3.2.3 Service Ability 3.2.4 Data Ability 3.3、HarmonyOS页面的设计 3.3.1 原子化服务与HAP简介 3.3.2 可分.
HarmonyOS应用开发实战—登录页面【ArkTS】
一键难忘的博客
11-24 4084
在运行时实例内存隔离的基础上,ArkCompiler通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。它的目标是提供更加统一、开放、灵活的操作系统平台,使得开发者能够更轻松地创建跨设备的应用程序,并为用户提供一致的、流畅的使用体验。ArkTS提供了简洁自然的声明式语法、组件化机制、数据-UI自动关联等能力,实现了贴近自然语言,书写效率更高的编程方式,为开发者带来易学、易懂、极简开发的优质体验。这有助于推动开发者社区的参与和生态系统的发展。
HarmonyOS实战—页面跳转
兮动人
07-18 1048
文章目录1. 第一个页面布局(xml编写)2. 第二个页面布局(java编写)3. 页面跳转实现 实现步骤: ①:编写第一个页面(文本+按钮) xml编写 ②:编写第二个页面(文本) java 编写 ③:给按钮添加一个跳转 设计思路: 第一步:在第一个界面中把HelloWorld改写为第一个界面,并添加一个按钮。 第二步:写第二个界面 第三步:书写跳转关系 鸿蒙UI中,提供了两种编写布局的方式: 在XML中声明UI布局 在代码中创建布局 这两种方式创建出的布局没有本质差别,但是XML方式较为方便简
HarmonyOS开发学习:项目案例展示—页面跳转
maniu110的博客
07-08 682
提供通过不同的url访问不同的页面,包括跳转应用内的指定页面、用应用内的某个页面替换当前页面、返回上一页面或指定的页面等。
[HarmonyOS]——页面跳转(官方demo)
weixin_42067873的博客
07-21 1488
1、案例步骤明确: 编写第一个页面(文本 + 按钮) 编写第二个页面(文本) 给按钮添加一个跳转鸿蒙UI中,提供了两种编写布局的方式: 注意:创建新的Ability 点击包,右键新建Ability,创建后开发工具会帮助我们生成一个新Ability需要的所有东西。包括子AbilitySlice、配置文件中相关配置(config.json内)都处理好了 2、布局对象介绍 (1)使用XML方式 使用XML方式的时候,所有的标签都包含在 DirectionalLayou..
HarmonyOS ArkUI实战开发-页面跳转(Router、Ability)
1
04-22 1490
页面跳转可以分为页面内跳转和页面间跳转,页面内跳转是指所跳转的页面在同一个 Ability 内部,它们之间的跳转可以使用 Router 或者 Navigator 的方式;页面间跳转是指所跳转的页面属与不同的 Ability ,这种跳转需要借助 featureAbility 实现,跳转示意图如下所示:
HarmonyOS ArkTS Ability内页面的跳转和数据传递
老卫的技术站
06-12 2283
HarmonyOS ArkTS Ability的数据传递包括有Ability内页面的跳转和数据传递、Ability间的数据跳转和数据传递。本节主要讲解Ability内页面的跳转和数据传递。打开DevEco Studio,选择一个Empty Ability工程模板,创建一个名为“ArkUIPagesRouter”的工程为演示示例。
HarmonyOS-页面跳转Router实例演示
Hidanchaofan的博客
03-12 1838
本文将以APP的登录和修改昵称为例演示官网的几种页面跳转、返回以及这些流程携带参数,实例的形式记录学习HarmonyOS页面跳转
HarmonyOS鸿蒙开发之07 编程实现页面跳转(教程含源码)
iCloudEnd的博客
09-12 8268
实战需求 本期,我们来从零开始通过代码实现在第一个页面点击按钮跳转到第二个页面。 前期文章 原创 HarmonyOS 鸿蒙入门教程之01 基础环境和开发工具 (教程含源码) 原创 HarmonyOS 鸿蒙开发之02开发工具安装 原创 HarmonyOS 鸿蒙入门教程之03 运行开发工具完成基础配置DevEco Studio(教程含源码) 原创 HarmonyOS鸿蒙开发之04 运行第一个hello world (教程含源码) 原创 HarmonyOS鸿蒙
harmonyos页面跳转
06-07
在 HarmonyOS 中,页面跳转可以通过以下步骤来实现: 1. 创建要跳转的页面的 Ability 2. 在需要跳转的页面的 Ability 中调用 `present` 方法 3. 在 `present` 方法中,传入要跳转到的页面的 Ability 的 Intent 对象 以下是一个简单的示例代码: ```java // 创建要跳转的页面的 Ability public class SecondAbility extends Ability { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_second); // 在需要跳转的页面的 Ability 中调用 present 方法 Button button = (Button) findComponentById(ResourceTable.Id_button); button.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { Intent intent = new Intent(); Operation operation = new Intent.OperationBuilder() .withDeviceId("") .withBundleName("com.example.app") .withAbilityName("com.example.app.SecondAbility") .build(); intent.setOperation(operation); // 在 present 方法中,传入要跳转到的页面的 Ability 的 Intent 对象 present(intent); } }); } } ``` 在上面的示例中,我们创建了一个名为 `SecondAbility` 的 Ability,当用户点击页面上的按钮时,会跳转到 `SecondAbility` 页面。在跳转时,我们创建了一个 Intent 对象,并设置了要跳转到的 Ability 的信息,最后将 Intent 对象作为参数传递给 `present` 方法。
写文章

热门文章

  • (超多图)基于Android studio开发的一个简单入门小应用(超级详细!!)(建议收藏) 73784
  • 【Redis进阶】一文搞懂Redisson的看门狗机制底层实现 28146
  • 微服务入门:Ribbon与Nacos 7908
  • Rest风格 6429
  • 基于SpringBoot+EasyExcel+vue3实现excel表格的导入和导出 5927

分类专栏

  • Java成神之路 1篇
  • Spring成神之路 3篇
  • 数据结构与算法 2篇
  • 深入JavaSE 8篇
  • 企业方案 2篇
  • JUC 18篇
  • 设计模式 3篇
  • 其他
  • JVM 8篇
  • 操作系统 1篇
  • 并发编程 1篇
  • 期末复习 1篇
  • 中间件
  • Redis 12篇
  • Leetcode
  • MySQL 12篇
  • KO前端BUG 1篇
  • KO后端BUG 4篇
  • 开发实用 3篇
  • JDK1.8 1篇
  • 微服务 9篇
  • Linux 1篇
  • SSM 7篇
  • Maven 1篇
  • Vue 3篇
  • SpringBoot 6篇
  • JAVA笔记 38篇
  • JavaWeb 3篇
  • JAVA
  • 数据库 4篇
  • Android 2篇
  • HarmonyOS 1篇

最新评论

  • 【Redis】4.万字文章带你深入Redisson与源码解读(建议收藏)

    Mr_Richard: 好强,正好也在看这个

  • 【MapStruct】还在用BeanUtils?不如试试MapStruct

    不吃青椒!: 老哥可否加你个v

  • 【MapStruct】还在用BeanUtils?不如试试MapStruct

    起名方面没有灵感: 你可以试一下喔 比如一个isSuccess的变量 用lombok生成的get方法会是isSuccess(),但是mapstruct想要的是getIsSuccess()表情包

  • 【MapStruct】还在用BeanUtils?不如试试MapStruct

    不吃青椒!: 为什么不能用lombock生成set/get,因为lombok也在编译期吗

  • 【JVM】类加载的全过程

    字节卷动: final 关键字 这段代码示例中,少写了final

大家在看

  • Linux基础知识(高级)
  • 哔哩哔哩自动批量删除抽奖动态——使用篇 455
  • 花8000元去培训机构学习网络安全值得吗,学成后就业前景如何?
  • 网络安全(黑客)——自学2024
  • 网络安全自学入门:(超详细)从入门到精通学习路线&规划,学完即可就业 768

最新文章

  • 【Spring成神之路】从源码角度深度刨析Spring循环依赖
  • 【Spring成神之路】老兄,来一杯Spring AOP源码吗?
  • 【Spring成神之路】一次SpringIOC源码之旅,女朋友也成为了Spring大神!
2024年5篇
2023年40篇
2022年83篇
2021年52篇

目录

目录

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起名方面没有灵感

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家广州景区玻璃钢雕塑施工哪家好腾冲市玻璃钢雕塑多少钱沅江玻璃钢马雕塑玻璃钢花盆厂家批发安宁市玻璃钢雕塑设计供应玻璃钢雕塑公司哪家好泉州玻璃钢雕塑生产厂家山西仿铜玻璃钢雕塑定做价格商场美食街美陈商场婚庆美陈揭阳动物玻璃钢雕塑衢州玻璃钢陶瓷雕塑公司玻璃钢花盆有前景吗揭东玻璃钢花盆花器河北商场美陈供货商内蒙古玻璃钢雕塑设计鹿玻璃钢卡通雕塑现货机场花盆座椅商场美陈休闲凳焦作玻璃钢人物大型城市雕塑欧式玻璃钢雕塑怎么制作嘉峪关仿真玻璃钢雕塑安装广水玻璃钢校园雕塑哪家靠谱襄阳玻璃钢树脂雕塑公司山东玻璃钢人物雕塑多少钱临江玻璃钢景观雕塑南明区玻璃钢雕塑厂家电话白银城市玻璃钢雕塑制作名人玻璃钢人物雕塑玻璃钢雕塑麒麟英德室内外玻璃钢花盆哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化