>极客内参 > 技术 > 正文

HarmonyOS(鸿蒙)——长按事件

本文已收录于专栏

❤️《鸿蒙开发》❤️

欢迎各位关注、三连博主的文章及专栏,每周定期更新1-5篇基础文章,共勉!

往期文章汇总-方便有需要的朋友直达:

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

HarmonyOS(鸿蒙)开发一文入门

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

HarmonyOS与Android的全面对比

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

HarmonyOS(鸿蒙)–– Ability与页面

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

HarmonyOS(鸿蒙)––启动流程

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

HarmonyOS(鸿蒙)––单击事件

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

HarmonyOS(鸿蒙)––双击事件

目录

一、实现步骤

二、代码实现

2.1 定义页面元素

2.2 长按事件实现

三、测试

一、实现步骤

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

定义组件,给组件分配唯一ID,之后通过ID定位组件给定义的组件绑定双击事件实现Component.LongClickedListener接口并重写onLongClicked方法实现onLongClicked方法中的具体逻辑,以此完成长按事件的相关业务操作

二、代码实现

2.1 定义页面元素

<?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_helloworld“        ohos:height=“match_content“        ohos:width=“match_content“        ohos:background_element=“$graphic:background_ability_main“        ohos:layout_alignment=“horizontal_center“        ohos:text=“$string:mainability_HelloWorld“        ohos:text_size=“40vp“        /></DirectionalLayout>

2.2 长按事件实现

package com.liziba.demo.slice;import com.liziba.demo.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Component;import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice implements Component.LongClickedListener {    @Override    public void onStart(Intent intent) {        super.onStart(intent);        super.setUIContent(ResourceTable.Layout_ability_main);        // 1、通过id查询到组件        Text text = (Text) this.findComponentById(ResourceTable.Id_text_helloworld);        // 2、给组件设置长按事件        text.setLongClickedListener(this);    }    @Override    public void onActive() {        super.onActive();    }    @Override    public void onForeground(Intent intent) {        super.onForeground(intent);    }    /**     * 长按事件触发回调的方法,此方法来自于实现Component.LongClickedListener重写的方法     *     * @param component     */    @Override    public void onLongClicked(Component component) {        Text text = (Text) component;        text.setText(“你好,李子捌!“);    }}

三、测试

长按之前

HarmonyOS(鸿蒙)——长按事件

长按之后

HarmonyOS(鸿蒙)——长按事件


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

Baidu
map