HarmonyOS(鸿蒙)——单击事件

目录

一、简介

1.1 什么是组件

1.2 什么是事件

1.3 什么是单击事件

1.4 实现步骤

二、案例

2.1 创建项目

2.2 定义组件

2.3 定义的组件绑定单击事件

2.4 实现ClickedListener接口并重写onClick方法

2.5 实现onClick方法中的具体逻辑,以此完成点击事件的相关业务操作

三、测试

3.1 登录远程模拟器

3.2 运行项目

四、精选好文


一、简介

1.1 什么是组件

组件就是文本、按钮、图片等元素的统称

1.2 什么是事件

事件就是可以被组件识别的操作,常见的事件有单击、双击、长按和滑动等。

1.3 什么是单击事件

单击事件又称点击事件,单击事件是我们平时操作过程中触发的最多的事件。

1.4 实现步骤

实现HarmonyOS(鸿蒙)的单击事件主要分为四个步骤:

  1. 定义组件,给组件分配唯一ID,之后通过ID定位组件
  2. 给定义的组件绑定单击事件
  3. 实现ClickedListener接口并重写onClick方法
  4. 实现onClick方法中的具体逻辑,以此完成点击事件的相关业务操作

二、案例

2.1 创建项目

File -> New -> New Project

image.png


选择Empty Ability(Java),单击Next;
image.png


填写项目相关配置信息,点击Next;
image.png


项目创建完成后的效果如下
image.png

2.2 定义组件

这一步会定义一个按钮(按钮也是一个组件),并且给按钮组件分配唯一ID,之后通过ID定位按钮组件,在这里可能需要首先了解一下Ability相关技术,这样可以更好的了解Ability框架以及页面之间的包含关系,如果有完全不了解的可以查阅这篇文章,做个简单入门《HarmonyOS(鸿蒙)—— Ability与页面》。
找到MainAbilitySlice.java文件,然后按住ctrl键+点击ResourceTable.Layout_ability_main,进入ability_main.xml文件

image.png


也可以直接定位ability_main.xml文件
image.png

组件代码开发

 <?xml version="1.0" encoding="utf-8"?><DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="center"ohos:orientation="vertical"><!-- ohos:id定义组件的id,注意格式固定$+id:xxxx   --><!--match_content 表示包裹内容,按钮的大小与按钮内的文字大小一致--><Buttonohos:id="$+id:button"ohos:width="match_content"ohos:height="match_content"ohos:text="点击我"ohos:text_size="19fp"ohos:text_color="#FFFFFF"ohos:top_padding="8vp"ohos:bottom_padding="8vp"ohos:right_padding="70vp"ohos:left_padding="70vp"ohos:center_in_parent="true"ohos:margin="10vp"ohos:background_element="#007DFF"/></DirectionalLayout>

2.3 定义的组件绑定单击事件

Component findComponentById(**int **resID)方法返回的是Component,Component是HarmonyOS中所有组件的父类。我们首先找到MainAbilitySlice.java文件,在onStart方法中进行事件的绑定。

 package com.liziba.demo.slice;import com.liziba.demo.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.components.Component;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//1. 找到组件Button button = (Button) findComponentById(ResourceTable.Id_button);//2. 绑定单击事件 -- 此时代码并未完成,需要传入Component.ClickedListener的实现类button.setClickedListener();}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}
}

2.4 实现ClickedListener接口并重写onClick方法

这里可以直接使用MainAbilitySlice实现Component.ClickedListener接口,也可以通过定义内部类ButtonListener实现Component.ClickedListener接口,或者定义其他外部类实现Component.ClickedListener接口都可以,案例采用第二种情况。

 package com.liziba.demo.slice;import com.liziba.demo.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.components.Component;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//1. 找到组件Button button = (Button) findComponentById(ResourceTable.Id_button);//2. 绑定单击事件button.setClickedListener(new ButtonListener());}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}
}/*** 实现ClickedListener接口并重写onClick方法*/
class ButtonListener implements Component.ClickedListener {/*** 点击事件触发的操作会调用的方法* @param component     被点击的组件对象*/@Overridepublic void onClick(Component component) {// 具体点击操作的逻辑处理}
}

2.5 实现onClick方法中的具体逻辑,以此完成点击事件的相关业务操作

在onClick方法中,处理具体点击操作的逻辑,这里通过修改按钮中的文字来显示单击事件效果

 /*** 实现ClickedListener接口并重写onClick方法*/class ButtonListener implements Component.ClickedListener {/*** 点击事件触发的操作会调用的方法* @param component     被点击的组件对象*/@Overridepublic void onClick(Component component) {// 具体点击操作的逻辑处理Button button = (Button) component;button.setText("哦,我被点击了!");}
}

三、测试

3.1 登录远程模拟器

点击Tools -> Device Manager

image.png

点击Login进行登录
image.png

登录华为账户,点击允许,如果没有注册账户的,请先注册一个华为账户
image.png

选择P40作为远程模拟器
image.png

启动成功后会看到如下调试手机界面
image.png

3.2 运行项目

点击右上角的三角形直接运行,或者点击甲壳虫进入调试模式

image.png

运行效果,点击前
image.png

点击后
image.png

四、精选好文

HarmonyOS(鸿蒙)DevEco Studio开发环境搭建

HarmonyOS(鸿蒙)开发一文入门

两个案例五分钟轻松入门Harmony(鸿蒙)开发

armonyOS与Android的全面对比

HarmonyOS(鸿蒙)全网最全资源汇总,吐血整理,赶紧收藏!

HarmonyOS(鸿蒙)—— Ability与页面

HarmonyOS(鸿蒙)——config.json详解

HarmonyOS(鸿蒙)——启动流程

HarmonyOS(鸿蒙)——全面入门,始于而不止于HelloWorld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23250.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【鸿蒙】HarmonyOS认证学习资料整理

第1章、HarmonyOS概述 概念 HarmonyOS是全场景分布式智慧系统。 HarmonyOS是一款面向万物互联时代、全新的分布式操作系统。 超级终端 功能机&#xff1a;软件整体升级不可分割&#xff0c;预装应用与操作系统绑定&#xff0c;有限功能 智能机&#xff1a;应用与操作系统分离…

HarmonyOS实战—鸿蒙OS在新能源领域发展前景

【本文正在参与“有奖征文 | HarmonyOS征文大赛”活动】 https://marketing.csdn.net/p/ad3879b53f4b8b31db27382b5fc65bbc 我的观点是肯定可以 华为也是这两年开启了鸿蒙系统的研发&#xff0c;其实单就操作系统&#xff0c;国内其实有很多&#xff0c;不过基本都是基于Linu…

鸿蒙系统概述(HarmonyOS)学习这一篇就够了!

鸿蒙系统概述&#xff08;HarmonyOS&#xff09; 我们可以从以下三个主要方面进行概述&#xff1a;系统定义、技术特征、系统安全。 目录 鸿蒙系统概述&#xff08;HarmonyOS&#xff09; 系统定义 系统定位 技术架构 内核层 系统服务层 框架层 应用层 技术特性 硬…

国内有哪些公司参与鸿蒙系统,终于有手机厂商接入鸿蒙系统了!

今天&#xff0c;微博“魅族智享生活”发布消息&#xff1a;你好&#xff0c;鸿蒙&#xff0c;一起拥抱全场景智能生活。业界纷纷认为&#xff0c;这代表魅族正式宣布接入鸿蒙系统。 打开APP&#xff0c;查看更多精彩图片 魅族手机沦为市场others&#xff0c;为了制造热度&…

(1.3)HarmonyOS鸿蒙启动程序运行流程

程序启动运行流程&#xff1a; ①解析config.json文件 ②初始化 ③获取入口Ability的全类名&#xff08;config.json里的module里的mainAbility&#xff09; ④找到Ability并运行 ⑤运行Ability中的子界面 ⑥加载xml文件&#xff0c;展示内容&#xff08;xml在resources里面&am…

鸿蒙应用开发培训笔记01:HarmonyOS介绍

文章目录 零、本讲学习目标一、鸿蒙系统理念与关键技术&#xff08;一&#xff09;智能终端产业飞速发展带来历史性机遇&#xff08;二&#xff09;HarmonyOS超级终端&#xff0c;带给消费者的不一样&#xff08;三&#xff09;HarmonyOS 开启万物互联时代的一把钥匙&#xff0…

OpenHarmony轻量系统开发【12】OneNET云接入

摘要&#xff1a;本文简单介绍如何接入OneNET云平台适合群体&#xff1a;适用于润和Hi3861开发板 文中所有代码仓库&#xff1a;OpenHarmony润和3861智能家居套件代码仓库: 润和3861智能家居套件代码仓库 12.1 OneNET云介绍 通常来说&#xff0c;一个物联网产品应当包括设备、…

【鸿蒙 HarmonyOS】UI 组件 ( 文本输入框 TextField 组件 )

文章目录 一、布局中设置 TextField 组件二、代码中获取并设置 TextField 组件 一、布局中设置 TextField 组件 TextField 组件是文本输入框 , 允许用户在界面中输入指定的文字信息 ; 布局文件中配置 TextField 组件 : <?xml version"1.0" encoding"utf-8…

【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( 下载 | 安装 | 启动 | 支持的设备与开发语言 )

文章目录 一、HarmonyOS 开发环境下载二、HarmonyOS 开发环境安装三、启动 DevEco Studio四、HarmonyOS 支持的设备与开发语言 一、HarmonyOS 开发环境下载 HarmonyOS 开发者相关网站 : HarmonyOS 开发者官网 : https://developer.harmonyos.com/cn/home/HarmonyOS 开发文档 :…

harmonyos鸿蒙,HarmonyOS鸿蒙之设置圆角

1、同时设置四个角 a、静态设置 graphic下新建 background_supertext_red.xml ohos:shape="rectangle"> ohos:color="$color:white"/> ohos:width="2" ohos:color="$color:red"/> ohos:radius="20"/> layout.xm…

Appium:配置华为手机鸿蒙HarmonyOS系统参数

简介&#xff1a;安卓手机厂商林立造成的各系统占山为王&#xff0c;差异大&#xff0c;难以获取相关参数。HarmonyOS本质是基于安卓进行的封装优化。 获取方式有两种&#xff0c;推荐方式2 方式1&#xff1a; 鸿蒙安卓版本号&#xff1a;进入应用和服务 - 应用管理 - 搜索&…

鸿蒙开发实例 | 为什么选择HarmonyOS?

2020年9月&#xff0c;华为发布了鸿蒙操作系统&#xff08;HarmonyOS&#xff09;2.0&#xff0c;并发布了其开源版本OpenHarmony。从此&#xff0c;鸿蒙操作系统的面纱终于被揭开了。作为国人期待已久的操作系统&#xff0c;鸿蒙不仅承载着华为软件生态的未来&#xff0c;也代…

鸿蒙应用开发学习|HarmonyOS工程介绍

系列文章目录 第一章 HarmonyOS是什么 第二章 基础环境和开发工具 文章目录 系列文章目录前言一、HarmonyOS工程介绍二、工程目录结构三、工程目录介绍1.entry2.Ability3.库文件4.资源文件5.配置文件6.pack.info7.HAR 总结 前言 本文将会给大家梳理 HarmonyOS 源码目录结构&a…

【HarmonyOS】小熊派鸿蒙系统搭建

文章目录 一、BearPi-HM Micro 开发板介绍二、Linux镜像下载三、BearPi-HM Micro编译环境配置1.首先添加如下镜像源2.更新镜像源3.安装依赖库及工具4.安装hb5.测试hb是否安装成功 四、安装mkimage工具1.新建tools目录2.下载mkimage.stm32工具到~/tools目录&#xff0c;并复制到…

鸿蒙、OpenHarmony、HarmonyOS傻傻的分不清楚。。。看这篇就够了

很多人对鸿蒙、OpenHarmony、HarmonyOS这些术语傻傻的分不清楚&#xff0c;那么本文就做一些解答。 6月4日&#xff0c;华为发布了《关于规范HarmonyOS沟通口径的通知》&#xff08;以下简称《通知》&#xff09;&#xff0c;原文在网上都能搜到&#xff0c;这里就不贴了。本人…

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别 一、本是同根生 最近鸿蒙开发越来越火&#xff0c;特别是因为开源鸿蒙的存在&#xff0c;很多系统开发&#xff0c;直接使用OpenHarmony。 但是初学者很容易把HarmonyOS商业鸿蒙和开源鸿蒙弄混。 首先我们聊一下这两者的关系&a…

【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )

文章目录 一、布局文件中设置 Button 组件属性二、代码中修改 Button 组件属性三、Button 点击事件四、完整代码示例五、执行结果六、GitHub 地址 一、布局文件中设置 Button 组件属性 Button 组件是在 UI 界面中的按钮组件 , 重要的用户交互接口 ; 布局文件中设置 Button : B…

Android Studio连接Huawei Matepad harmonyOS真机调试

一、开发环境 NO项目说明 1PC开发操作系统Windows10_64bit2Android stuidiov4.23Huawei Metapad 10.4HarmonyOS2.0 备注&#xff1a;PC和移动设备需要在同一wifi下 二、操作Huawei Matepad进入开发者模式 1、设置->关与平板电脑->版本号&#xff0c;双击版本号进入开发者…

鸿蒙应用开发学习路线(OpenHarmony/HarmonyOS)

鸿蒙应用开发学习路线&#xff08;OpenHarmony/HarmonyOS&#xff09; HarmonyOS应用开发学习路线网站汇总社区汇总视频学习路线 OpenHarmony应用开发学习路线与资料网站汇总社区汇总学习路线 MarkDown工具推荐 HarmonyOS应用开发学习路线 作者&#xff1a;坚果 团队&#xff1…

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

鸿蒙的最新IDE支持可视化开发。几乎不需要编写一行代码&#xff0c;就可以设计非常复杂的界面。当然&#xff0c;如果要实现业务逻辑&#xff0c;还是需要编写代码的。所以我们把这些功能称为低代码开发&#xff0c;也就是说&#xff0c;可以让我们少编写一些代码。 本文将详细…