天天看點

❤️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(鴻蒙)全面學習-精選好文彙總

元件就是文本、按鈕、圖檔等元素的統稱

事件就是可以被元件識别的操作,常見的事件有單擊、輕按兩下、長按和滑動等。

輕按兩下事件就是我們對螢幕連續點選兩次,比如刷抖音輕按兩下螢幕的點贊等……

實作HarmonyOS(鴻蒙)的輕按兩下事件主要分為四個步驟:

定義元件,給元件配置設定唯一ID,之後通過ID定位元件

給定義的元件綁定輕按兩下事件

實作DoubleClickedListener接口并重寫onDoubleClick方法

實作onDoubleClick方法中的具體邏輯,以此完成點選事件的相關業務操作

File -> New -> New Project

❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件

這一步會定義一個按鈕(按鈕也是一個元件)和一個文本元件,并且給按鈕和文本元件配置設定唯一ID,之後通過ID定位按鈕和文本元件,然後我們會通過輕按兩下事件改變文本框中的内容。在這裡可能需要首先了解一下Ability相關技術,這樣可以更好的了解Ability架構以及頁面之間的包含關系,如果有完全不了解的可以查閱這篇文章,做個簡單入門《HarmonyOS(鴻蒙)—— Ability與頁面》。

找到MainAbilitySlice.java檔案,然後按住ctrl鍵+點選ResourceTable.Layout_ability_main,進入ability_main.xml檔案

❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件

<?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>      

Component findComponentById(**int **resID)方法傳回的是Component,Component是HarmonyOS中所有元件的父類。我們首先找到MainAbilitySlice.java檔案,在onStart方法中進行事件的綁定。

關于這一步的寫法一共有四種,大家可以根據自己的需求去進行選擇,我這裡選用的是方法引用的方式,我覺得這樣比較簡潔,又能使用到類的成員變量。四種寫法的詳細介紹文章位址如下:

❤️HarmonyOS(鴻蒙)❤️——單擊事件的四種寫法詳述

在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("大家好,我是李子捌!");
        }
    }
}      
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件
❤️HarmonyOS(鴻蒙)❤️——輕按兩下事件

HarmonyOS(鴻蒙)DevEco Studio開發環境搭建

HarmonyOS(鴻蒙)開發一文入門

兩個案例五分鐘輕松入門Harmony(鴻蒙)開發

HarmonyOS與Android的全面對比

HarmonyOS(鴻蒙)全網最全資源彙總,吐血整理,趕緊收藏!

HarmonyOS(鴻蒙)—— Ability與頁面

HarmonyOS(鴻蒙)——config.json詳解

HarmonyOS(鴻蒙)——啟動流程

HarmonyOS(鴻蒙)——全面入門,始于而不止于HelloWorld

HarmonyOS(鴻蒙)——單擊事件

繼續閱讀