❤️HarmonyOS(鸿蒙)❤️——双击事件

简介: ❤️HarmonyOS(鸿蒙)❤️——双击事件

目录


一、简介


1.1 什么是组件


1.2 什么是事件


1.3 什么是双击事件


1.4 实现步骤


二、案例


2.1 创建项目


2.2 定义组件


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


2.4 实现Component.DoubleClickedListener接口并重写onDoubleClick方法


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


三、测试


3.1 登录远程模拟器


3.2 运行项目


四、HarmonyOS(鸿蒙)全面学习-精选好文汇总


一、简介

1.1 什么是组件

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


1.2 什么是事件

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


1.3 什么是双击事件

双击事件就是我们对屏幕连续点击两次,比如刷抖音双击屏幕的点赞等……


1.4 实现步骤

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


定义组件,给组件分配唯一ID,之后通过ID定位组件

给定义的组件绑定双击事件

实现DoubleClickedListener接口并重写onDoubleClick方法

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

二、案例

2.1 创建项目

File -> New -> New Project

image.pngimage.pngimage.pngimage.png2.2 定义组件

这一步会定义一个按钮(按钮也是一个组件)和一个文本组件,并且给按钮和文本组件分配唯一ID,之后通过ID定位按钮和文本组件,然后我们会通过双击事件改变文本框中的内容。在这里可能需要首先了解一下Ability相关技术,这样可以更好的了解Ability框架以及页面之间的包含关系,如果有完全不了解的可以查阅这篇文章,做个简单入门《HarmonyOS(鸿蒙)—— Ability与页面》。

找到MainAbilitySlice.java文件,然后按住ctrl键+点击ResourceTable.Layout_ability_main,进入ability_main.xml文件

image.png

<?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">
    <!-- ohos:id定义组件的id,注意格式固定$+id:xxxx   -->
    <!--match_content 表示包裹内容,按钮的大小与按钮内的文字大小一致-->
    <Text
        ohos:id="$+id:text"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:text="各位看官大人,万福金安!"
        ohos:text_size="15fp"
        />
    <Button
        ohos: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方法中进行事件的绑定。


2.4 实现Component.DoubleClickedListener接口并重写onDoubleClick方法

关于这一步的写法一共有四种,大家可以根据自己的需求去进行选择,我这里选用的是方法引用的方式,我觉得这样比较简洁,又能使用到类的成员变量。四种写法的详细介绍文章地址如下:

❤️HarmonyOS(鸿蒙)❤️——单击事件的四种写法详述


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

在onDoubleClick方法中,处理具体点击操作的逻辑,这里通过双击按钮修改文本组件中的文字来实现。2.3-2.5步骤的代码比较简单,全在下面。

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;
import ohos.agp.components.Text;
public class MainAbilitySlice extends AbilitySlice{
    /** 提取Text组件为成员变量,后续方法需要使用 */
    Text text = null;
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        // 1、找到组件
        // button - 按钮组件
        Button button = (Button) this.findComponentById(ResourceTable.Id_button);
        // 文本组件
        text = (Text) this.findComponentById(ResourceTable.Id_text);
        // 2、绑定双击事件(给需要点击的组件添加双击事件)
        button.setDoubleClickedListener(this::onDoubleClick);
    }
    @Override
    public void onActive() {
        super.onActive();
    }
    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
    public void onDoubleClick(Component component) {
        // component表示的是被双击的组件对象
        int id = component.getId();
        if (ResourceTable.Id_button == id) {
            text.setText("大家好,我是李子捌!");
        }
    }
}

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png四、HarmonyOS(鸿蒙)全面学习-精选好文汇总

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


HarmonyOS(鸿蒙)开发一文入门


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


HarmonyOS与Android的全面对比


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


HarmonyOS(鸿蒙)—— Ability与页面


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


HarmonyOS(鸿蒙)——启动流程


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


HarmonyOS(鸿蒙)——单击事件


❤️HarmonyOS(鸿蒙)❤️——单击事件的四种写法详述


目录
相关文章
|
3月前
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
179 1
|
3月前
|
存储 负载均衡 数据库
鸿蒙 HarmonyOS NEXT端云一体化开发-云函数篇
本文介绍基于华为AGC的端云一体化开发流程,涵盖项目创建、云函数开通、应用配置及DevEco集成。重点讲解云函数的编写、部署、调用与传参,并涉及环境变量设置、负载均衡、重试机制与熔断策略等高阶特性,助力开发者高效构建稳定云端服务。
400 1
鸿蒙 HarmonyOS NEXT端云一体化开发-云函数篇
|
3月前
|
存储 JSON 数据建模
鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇
云数据库采用存储区、对象类型、对象三级结构,支持灵活的数据建模与权限管理,可通过AGC平台或本地项目初始化,实现数据的增删改查及端侧高效调用。
177 1
|
3月前
|
存储 开发者 容器
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
本文介绍了ArkTS语言中的Class类、泛型、接口、模块化、自定义组件及状态管理等核心概念,并结合代码示例讲解了对象属性、构造方法、继承、静态成员、访问修饰符等内容,同时涵盖了路由管理、生命周期和Stage模型等应用开发关键知识点。
332 1
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
|
3月前
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段三
本文介绍了UI开发中的样式复用与组件构建技术,涵盖@Extend、@Styles和@Builder的使用方法,并通过Swiper轮播、Scroll滚动、Tabs导航等常用组件实现典型界面效果,结合生肖抽卡、小米轮播、回顶按钮等案例,展示实际应用技巧。
132 1
|
3月前
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段二
本文介绍鸿蒙应用界面开发中的弹性布局(Flex)、绝对定位、层叠布局及ArkTS语法进阶,涵盖字符串拼接、类型转换、数组操作、条件与循环语句,并结合B站视频卡、支付宝首页等案例,深入讲解点击事件、状态管理与界面交互功能。
285 1
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段二
|
6月前
|
开发者
HarmonyOS Next快速入门:通用事件
本教程聚焦HarmonyOS应用开发,涵盖事件处理的核心内容。包括事件分发、触屏事件、键鼠事件、焦点事件及拖拽事件等。通过代码实例讲解点击事件、触控事件(Down/Move/Up)、获焦与失焦事件的处理逻辑,以及气泡弹窗的应用。适合开发者快速掌握HarmonyOS Next中通用事件的使用方法,提升应用交互体验。
212 0
|
6月前
|
API UED 开发者
Harmony OS Next玩转多层级手势事件:当组件遇上“套娃”,触摸该怎么分家?
在HarmonyOS开发中,处理多层级手势事件是一项挑战,尤其在“组件套组件”的复杂布局下。本文深入探讨了触摸事件的基础原理、父子组件间的手势竞争规则以及如何通过`responseRegion`和`hitTestBehavior`等属性自定义触摸分发逻辑。同时介绍了`.gesture()`、`.priorityGesture()`和`.parallelGesture()`三种手势绑定方法,帮助开发者灵活调整手势优先级。掌握这些技巧,可精准控制复杂交互中的触摸行为,提升用户体验。
258 0
|
容器
HarmonyOS的组件、布局和事件三者的关系
HarmonyOS的组件、布局和事件三者的关系
241 0
HarmonyOS的组件、布局和事件三者的关系
|
2月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
295 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

热门文章

最新文章