HarmonyOS/OpenHarmony应用开发-ArkTS触摸事件onTouch

news/2024/7/21 10:14:46 标签: javascript, 华为, HarmonyOS

一、示例效果图片

 

 

 

二、事件

当手指在组件上按下、滑动、抬起时触发。(api7开始支持)

名称

是否冒泡

功能描述

onTouch(event: (event?: TouchEvent) => void)

触摸动作触发该方法调用,event参数见TouchEvent介绍。

三、说明

TouchEvent对象说明:

名称

类型

描述

type

TouchType

触摸事件的类型。

touches

Array<TouchObject>

全部手指信息。

changedTouches

Array<TouchObject>

当前发生变化的手指信息。

stopPropagation

() => void

阻塞事件冒泡。

timestamp8+

number

事件时间戳。

target8+

EventTarget

触发手势事件的元素对象显示区域。

source8+

SourceType

事件输入设备。

TouchObject对象说明:

名称

类型

描述

type

TouchType

触摸事件的类型。

id

number

手指唯一标识符。

screenX

number

触摸点相对于设备屏幕左边沿的X坐标。

screenY

number

触摸点相对于设备屏幕上边沿的Y坐标。

x

number

触摸点相对于被触摸元素左边沿的X坐标。

y

number

触摸点相对于被触摸元素上边沿的Y坐标。

四、示例代码

 

Touch.ets

@Component
export default struct Touch {
  @State text: string = '';
  @State eventType: string = '';

  build() {
    Column() {
      Button('Touch').height(40).width(100)
        .onTouch((event: TouchEvent) => {
          if (event.type === TouchType.Down) {
            this.eventType = 'Down';
          }
          if (event.type === TouchType.Up) {
            this.eventType = 'no touch';
          }
          if (event.type === TouchType.Move) {
            this.eventType = 'Move';
          }
          this.text = 'TouchType:' + this.eventType + '\nx: '
          + event.touches[0].x + '\n' + 'y: ' + event.touches[0].y + '\nComponent globalPos:('
          + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')\nwidth:'
          + event.target.area.width + '\nheight:' + event.target.area.height;
        })
      Button('Touch').height(50).width(200).margin(20)
        .onTouch((event: TouchEvent) => {
          if (event.type === TouchType.Down) {
            this.eventType = 'Down';
          }
          if (event.type === TouchType.Up) {
            this.eventType = 'no touch';
          }
          if (event.type === TouchType.Move) {
            this.eventType = 'Move';
          }
          this.text = 'TouchType:' + this.eventType + '\nx: '
          + event.touches[0].x + '\n' + 'y: ' + event.touches[0].y + '\nComponent globalPos:('
          + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')\nwidth:'
          + event.target.area.width + '\nheight:' + event.target.area.height;
        })
      Text(this.text).fontSize(24)
    }.width('100%').height('100%').padding(30)
  }
}

index.ets

import touch from '../eventMuster/Touch'

@Entry
@Component
struct Index {

  build() {
    Column() {
      touch()
    }
    .width('100%')
    .height('100%')
  }
}

五、完整代码下载地址

HarmonyOSAPP开发相关组件: 深圳市蛟龙腾飞网络科技有限公司 - Gitee.com


http://www.niftyadmin.cn/n/146080.html

相关文章

第七章-X86汇编语言从实模式到保护模式

第七章 比高斯更快的计算 7.3 显示字符串 123…100字符串编译阶段&#xff0c;编译器将把它们拆开&#xff0c;形成一个个单独的字节jump near start跳过没有指令的数据区11~15行初始化数据段寄存器DS和附加段寄存器ES18~28行用于显示字符串&#xff0c; 首先索引寄存器SI指向…

GCL Algorithm (1): introduction and implementation

目录 1. Concept of GCL 1.1 自监督学习 1.2 contrastive learning 1.3 data augmentation for GCL 1.3.1 Node dropping 1.3.2 edge perturbation 比扰动 1.3.3 attribute masking 属性掩码 1.3.4 subgraph 子图 2. GCL Algorithms 2.1 常见的图对比算法步骤 2.2 …

TUSB1002ARGER转接驱动器、EC25EFA-MINIPCIE/EG25GGD-MINIPCIE 4G IoT Modules

一、TUSB1002ARGER 一款双通道USB 3.2 x1 SSP转接驱动器和信号调理器。该器件采用超低功耗架构&#xff0c;由3.3V电源供电运行时的功耗非常低。它支持USB3.2低功耗模式&#xff0c;可进一步降低空闲状态下的功耗。TUSB1002A实现了一款线性均衡器&#xff0c;最高可容许码间串扰…

MySQL事务及ACID特性和并发带来的问题以及四种隔离级别

事务是什么&#xff1f; 事务&#xff08;Transaction&#xff09;是访问并可能更新数据库中各项数据项的一个程序执行单元&#xff08;unit&#xff09;。事务由事务开始&#xff08;begin transaction&#xff09;和事务结束&#xff08;end transaction&#xff09;之间执行…

Python synonyms查找中文任意词汇的同义词近义词

Python synonyms查找中文任意词汇的同义词近义词 作者&#xff1a;虚坏叔叔 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; 一、安装 对于非专业的开发人员来说可以简单的使用Python一行代码来找到同义词。这…

蔬菜视觉分拣机器人的设计与实现(RoboWork参赛方案)

蔬菜视觉分拣机器人的设计与实现 文章目录蔬菜视觉分拣机器人的设计与实现1. 技术栈背景2. 整体设计3. 机械结构3.1 整体结构3.2 底座结构3.3 小臂结构3.4 大臂结构3.5 负载组件结构3.6 末端执行器结构4. 硬件部分4.1 视觉系统4.1.1 光源4.1.2 海康工业相机4.2 传送带系统4.2.1…

STM32入门笔记(02):独立看门狗(IWDG)和窗户看门狗(WWDG)(SPL库函数版)

1.IWDG狗简介 除了始终控制器的RCC_CSR寄存器的父为标志位和备份区域中的寄存器以外&#xff0c;系统复位 将复位所有寄存器至它们的复位状态。 当发生以下任一事件时&#xff0c;产生一个系统复位&#xff1a; 1.NRST引脚上的 低 电平&#xff0c;即 外部复位&#xff1b;2…

数仓第一章作业

数仓第一章作业 文章目录数仓第一章作业习题1、给出下列英文短语或缩写的中文名称&#xff0c;并简述其含义2、简述操作型数据与分析型数据的主要区别3、简述数据仓库的含义4、简述数据仓库的特征5、简述主题的定义6、简述元数据的概念7、简述数据挖掘的主要任务8、简述数据挖掘…