(一)鸿蒙应用开发——点击按钮实现页面跳转

news/2024/2/28 18:31:38
1. 新建empty_Ability(Java)

在这里插入图片描述

2. 新建项目配置

在这里插入图片描述

3. 点击Finish之后,等待项目构建完成

在这里插入图片描述

4. 编辑*ability_main_xml*,该文件可以设置界面上的*组件布局**属性*`

在这里插入图片描述

5. 编辑**ability_main_xml**,该文件默认包含一个文本组件,现在将这个文本组件的文本内容修改为“”主界面“`

在这里插入图片描述

  1. 添加一个按钮组件,配置相关属性在这里插入图片描述
7. 主界面配置完毕,新建第二个界面(Ability)

8. 输入界面名称后,点击Finish

在这里插入图片描述

9. 新建完毕之后,会发现目录树多出了三个文件,并且暂时将生成的ability_second_page.xml右击删除

在这里插入图片描述

10. 进入secondAbilitySlice,进行主界面的子界面的设计

(1)因为刚才以及把ability_second_page.xml删除了,所以这里会报错
在这里插入图片描述

(2)给子界面添加一个布局,文本,将文本添加到布局,最后将布局添加到页面

    @Overridepublic void onStart(Intent intent) {super.onStart(intent);//super.setUIContent(ResourceTable.Layout_ability_second_page);DirectionalLayout skip_page = new DirectionalLayout(this);//1。定义文本对象Text skip_page_text = new Text(this);skip_page_text.setText("你已经进入了子界面");skip_page_text.setTextSize(60);skip_page_text.setTextColor(Color.BLUE);//2。将文本对象添加到布局skip_page.addComponent(skip_page_text);//3.将布局添加到界面super.setUIContent(skip_page);}
  1. 进入MainAbiltity,对主界面进行设计
    (1)定义按钮对象,获取按钮的ID,添加按钮点击事件
//1.新建按钮对象Button button;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//2.获取按钮的IDbutton = (Button) findComponentById(ResourceTable.Id_skip_button);//3.添加按钮点击事件button.setClickedListener(this);}

(2)查看setClickedListener方法的参数所需要的接口
在这里插入图片描述

(3)复制该接口类型
在这里插入图片描述

(4)再次按下组合键ctrl + B可查看到定义的接口
在这里插入图片描述
(5)再次回到second_pageSlice继承刚刚看到的接口Component.ClickedListener(注意不要直接填写接口名称,将刚刚复制的接口类型粘贴到此处,否则会出错,因为这不包含接口路径,完整的内容应为ohos.agp.components.Component.ClickedListener,而将复制的Component.ClickedListener粘贴到此处不会显示完整接口名),接下来将鼠标停在报错的地方,弹出提示信息之后点击款内,进行接口OnClick方法的具体实现
在这里插入图片描述

(6)OnClick方法的具体实现

 @Overridepublic void onClick(Component component) {//1.定义意图对象Intent button_intent = new Intent();//2.定义执行动作对象Operation button_opreation = new Intent.OperationBuilder().withDeviceId("").withBundleName("com.example.button_skip_page_01").withAbilityName("com.example.button_skip_page_01.second_page").build();//3.将执行动作添加到意图中button_intent.setOperation(button_opreation);//4.跳转页面startAbility(button_intent);}
  1. 点击Tool运行P40,进入后没有登陆华为账号要进行登陆授权。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 最后点击运行写好的应用程序,需要等待构建完毕,构建完毕之后,就会自动进入开发的应用,点击跳转按钮将会跳转到子界面

在这里插入图片描述在这里插入图片描述


http://www.ppmy.cn/news/101336.html

相关文章

张驰咨询:六西格玛绿带培训如何帮助酒店降低成本和提高客户满意度?

六西格玛是一种质量管理方法,旨在通过减少缺陷和提高效率来提高客户满意度。在酒店行业中,六西格玛可以帮助酒店降低成本和提高客户满意度的方法有:减少浪费、提高效率、优化客户体验、降低维护成本等等。下面张驰咨询给大家分享两个真实案例…

Java 21 新特性和改进

Java 21 是 Java 17 之后的下一个 LTS 版本。虚拟线程在 Java 21 中将成为正式功能。可以预期的是,Java 21 会成为一个很流行的 Java 版本。 Java 21 将在 2023 年 9 月 19 日发布。目前 Java 21 包含的内容已经基本确定了。下面来梳理一下 Java 21 中会包含的内容。…

opencv实践项目-人脸检测

目录 1. opencv CascadeClassifier人脸检测步骤2. CascadeClassifier分类器简介2.1 从文件中加载级联分类器2.2 目标检测方法 3. 代码实现 1. opencv CascadeClassifier人脸检测步骤 从文件加载级联分类器读取图片并灰度化resize灰度图直方图均衡化,得到对比度更强…

HDFS部署常见问题总结

HDFS部署的常见问题总结: 一、部署细节问题 是否遗漏了前置准备章节的相关操作?是否遗漏了将文件夹(hadoop安装文件夹,/data数据文件夹) chown授权到hadoop用户这一操作是否遗忘了格式化hadoop这一步(hadoop namenode -format&a…

时不时用到的博客与网站

Windows下右键新建.md文件教程(转) 如何编译 Linux 内核 Ubuntu Linux内核版本升级或降级到指定版本(基于ubuntu 18.04示例) Ubuntu 软件仓库镜像使用帮助 清华镜像站 内核源码 如何在Markdown文档中插入空格? VMware虚拟机扩展磁…

项目开发-依赖倒置、里式替换、接口隔离的应用深入理解

文章目录 前言依赖倒置定义不符合依赖倒置原则是什么样子😄完善 里式替换定义具体应用 接口隔离定义具体应用 前言 最近在做.net项目和学习这个设计模式中的依赖倒置和工厂方法,这个过程当中发现在开发这个.net项目中有很多不合理的地方,就是…

认识Servlet---2

hi,大家好,今天我们继续来认识Servlet 1.更方便的部署方式 2.访问出错的问题分析 3.Servlet的API之HttpServlet 🍨🍨🍨🍨 🍭1.更方便的部署方式 在上一期的讲解中,我们已经完整的创建项目并且编写代码并且得到了验…

ADC和DAC常用的56个技术术语

采集时间 采集时间是从释放保持状态(由采样-保持输入电路执行)到采样电容电压稳定至新输入值的1 LSB范围之内所需要的时间。采集时间(Tacq)的公式如下: ​混叠 根据采样定理,超过奈奎斯特频率的输入信号频率为“混叠”频率。也就是说,这些频…

SpringCloudConfigServer配置刷新优化方案

前一文章《SpringCloudConfigServer配置中心使用与刷新详解》 介绍了Spring Cloud原生配置中心的部署方案,以及配置变更时的刷新方案。 通过该文可以看到: 第一种方案无法同时刷新单个服务的所有实例第二种方案依赖于消息中间件(RabbitMQ或k…

物联网技术如何改变我们的生活:一位资深物联网专家的见解

物联网(IoT)是指通过网络互联的物理设备、车辆、建筑物以及其他物品,这些物品都内置了传感器、执行器、软件和网络连接器,使它们能够收集和交换数据。物联网技术已经在各个领域产生了深远的影响,包括家庭、医疗、交通、…

【基于容器的部署、扩展和管理】3.1 容器编排系统和Kubernetes集群的构建

往期回顾: 第一章:【云原生概念和技术】 第二章:【容器化应用程序设计和开发】 3.1 基于容器的部署、扩展和管理 3.1.1 容器介绍3.1.2 容器编排系统和Kubernetes集群的构建3.1.2.1 Kubernetes 集群3.1.2.2 容器编排系统 3.1.3 Kubernetes 集…

python+vue面向大学生的校内交友推荐系统

基于Python语言、django框架、B/S架构、Mysql数据库设计并实现了面向高校学生的校内交友推荐系统。系统主要包括用户、活动信息、活动分类、交友信息、互助信息、热点新闻、校园广场等功能模块。 网络交友较之其它交友方式更加经济、安全、健康。现在的上网条件非常的便利&…

20-01 走进微服务与Spring Cloud

Java架构师系列导航目录 认识SpringCloud——外带全家桶 Alibaba组件库 Nacos 中心化动态配置 持久化规则服务发现(DNS RPC)权重路由无缝SC K8s Sentinel(流控组件) 突发流量、削峰填谷、流量整形实时熔断实时监控大盘 S…

迅为RK3568开发板220+集视频和2800页手册在线观看_学习搞起来

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

干货!详解playwright实现自动等待的原理

playwright在执行操作之前对元素执行一系列可操作性检查,以确保这些行动按预期运行。它会自动等待(auto-wait)所有相关检查通过,然后才执行请求的操作。如果所需的检查未在给定的范围内通过timeout,则操作将失败并显示…

从零开始搭建属于自己的物联网平台(二)实现基于订阅发布的消息总线

实现基于订阅发布的消息总线 往期链接实现的功能及形式功能设计及代码实现生产者使用redis实现生产者 消费者使用redis实现消费者 配套Subscribe注解实现BeanPostProcessor监听所有的bean创建 EventBus对象 往期链接 从零开始搭建属于自己的物联网平台(一&#xff…

Express+SQLite学习(实用)

1、VSCode创建Express程序步骤 要在VSCode中创建一个Express程序,你可以按照以下步骤进行操作: 1、安装Node.js和npm: 首先,确保你的计算机上已经安装了Node.js和npm。 2、创建项目文件夹: 在你选择的位置上创建一个…

2023 年最新、最全、最实用的 Java 岗面试真题,已收录 GitHub

Java 面试 Java 作为编程语言中的 NO.1,选择入行做 IT 做编程开发的人,基本都把它作为首选语言,进大厂拿高薪也是大多数小伙伴们的梦想。以前 Java 岗位人才的空缺,而需求量又大,所以这种人才供不应求的现状,就是 Java 工程师的薪…

开始学习使用 turtlesim, ros2, and rqt

目标:使用turtlesim软件包和rqt工具 Background Turtlesim是一个用于学习ROS 2的轻量级模拟器。它说明了ROS 2在最基本的层面上所做的事情,让我们学习知道以后你将如何处理真实的机器人或机器人模拟。 ros2工具是用户如何管理、检查和与ROS系统交互的…

微信小程序报错:“该小程序提供的服务出现故障,请稍后再试”(IOS报错,Android则正常)

记录对接微信小程序时遇到的问题,问题表现为: 1、发送消息后出现报错:该小程序提供的服务出现故障,请稍后再试 2、只有IOS会报错,Android则是正常的 3、IOS报错的微信号,即使在电脑端登录,使…
最新文章