触摸事件
当手指在组件上按下、滑动、抬起时触发。
说明:
开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
事件
| 名称 | 是否冒泡 | 功能描述 | 
|---|---|---|
| onTouch(event: (event?: TouchEvent) => void) | 是 | 手指触摸动作触发该回调,event返回值见[TouchEvent]介绍。 | 
TouchEvent对象说明
| 名称 | 类型 | 描述 | 
|---|---|---|
| type | [TouchType] | 触摸事件的类型。 | 
| touches | Array<[TouchObject]> | 全部手指信息。 | 
| changedTouches | Array<[TouchObject]> | 当前发生变化的手指信息。 | 
| stopPropagation | () => void | 阻塞事件冒泡。 | 
| timestamp8+ | number | 事件时间戳,触发事件时距离系统启动的时间间隔。 例如,当系统启动时间为2023/10/12 11:33, 在2023/10/12 11:34时触发触摸事件,时间戳返回的值为60,000,000,000ns。 单位:纳秒 | 
| target8+ | [EventTarget] | 触发事件的元素对象显示区域。 | 
| source8+ | [SourceType] | 事件输入设备。 | 
| getHistoricalPoints10+ | Array<[HistoricalPoint]> | 获取当前帧所有的历史点。不同设备每帧的触摸事件频率不同,当前帧所有的触摸事件被称为历史点。 | 
TouchObject对象说明
| 名称 | 类型 | 描述 | 
|---|---|---|
| type | [TouchType] | 触摸事件的类型。 | 
| id | number | 手指唯一标识符。 | 
| x | number | 触摸点相对于被触摸元素左上角的X坐标。 | 
| y | number | 触摸点相对于被触摸元素左上角的Y坐标。 | 
| windowX10+ | number | 触摸点相对于应用窗口左上角的X坐标。 | 
| windowY10+ | number | 触摸点相对于应用窗口左上角的Y坐标。 | 
| displayX10+ | number | 触摸点相对于应用屏幕左上角的X坐标。 | 
| displayY10+ | number | 触摸点相对于应用屏幕左上角的Y坐标。 | 
HistoricalPoint10+对象说明

| 名称 | 类型 | 描述 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 | 
|---|---|---|
| touchObject | [TouchObject] | 历史点对应触摸事件的基础信息。 | 
| size | number | 历史点对应触摸事件的手指与屏幕的触摸区域大小。 默认值:0 | 
| force | number | 历史点对应触摸事件的压力大小。 默认值:0 取值范围:[0,1],压力越大值越大。 此接口根据硬件设备不同,支持情况不同。当前只支持Tablet。 | 
| timestamp | number | 历史点对应触摸事件的时间戳。触发事件时距离系统启动的时间间隔。 单位:毫秒 | 
示例
// xxx.ets
@Entry
@Component
struct TouchExample {
  @State text: string = ''
  @State eventType: string = ''
  build() {
    Column() {
      Button('Touch').height(40).width(100)
        .onTouch((event?: TouchEvent) => {
          if(event){
            if (event.type === TouchType.Down) {
              this.eventType = 'Down'
            }
            if (event.type === TouchType.Up) {
              this.eventType = 'Up'
            }
            if (event.type === TouchType.Move) {
              this.eventType = 'Move'
            }
            this.text = 'TouchType:' + this.eventType + '\nDistance between touch point and touch element:\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){
            if (event.type === TouchType.Down) {
              this.eventType = 'Down'
            }
            if (event.type === TouchType.Up) {
              this.eventType = 'Up'
            }
            if (event.type === TouchType.Move) {
              this.eventType = 'Move'
            }
            this.text = 'TouchType:' + this.eventType + '\nDistance between touch point and touch element:\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)
    }.width('100%').padding(30)
  }
}
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》

《鸿蒙生态应用开发V2.0白皮书》

《鸿蒙 (OpenHarmony)开发基础到实战手册》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
OpenHarmony北向、南向开发环境搭建

《鸿蒙开发基础》
-  ArkTS语言 
-  安装DevEco Studio 
-  运用你的第一个ArkTS应用 
-  ArkUI声明式UI开发 
-  .…… 

《鸿蒙开发进阶》
-  Stage模型入门 
-  网络管理 
-  数据管理 
-  电话服务 
-  分布式应用开发 
-  通知与窗口管理 
-  多媒体技术 
-  安全技能 
-  任务管理 
-  WebGL 
-  国际化开发 
-  应用测试 
-  DFX面向未来设计 
-  鸿蒙系统移植和裁剪定制 
-  …… 

《鸿蒙开发实战》
-  ArkTS实践 
-  UIAbility应用 
-  网络案例 
-  …… 

获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!




















