HarmonyOS ArkUI-eTS通用事件监听 原创 精华
春节不停更,此文正在参加[星光计划-春节更帖活动] https://harmonyos.51cto.com/posts/9923
目录
1.点击事件
支持版本: eTS API Version 7+
事件名称: onClick(callback: (event?: ClickEvent) => void)
ClickEvent对象:
screenX(点击点相对于设备屏幕左边沿的X坐标)
screenY(点击点相对于设备屏幕右边沿的Y坐标)
x(点击点相对于被点击元素左边沿的X坐标)
y(点击点相对于被点击元素上边沿的Y坐标)
timestamp(事件时间戳)
target(API Version 8+ 支持此属性)/类型:EventTarget
名称 | 类型 | 描述 |
---|---|---|
EventTarget | Area | 目标元素的区域信息 |
Area.width | Length | 目标元素的宽度 |
Area.height | Lenth | 目标元素的高度 |
Area.pos | Position | 目标元素左上角相对父元素左上角的位置 |
Area.globalPos | Position | 目标元素左上角相对页面左上角的位置 |
Position.x | Length | x轴坐标 |
Position.y | Length | y轴坐标 |
使用示例:
效果演示:
2.触摸事件
支持版本: eTS API Version 7+
事件名称: onTouch(callback: (event?: TouchEvent) => void)
TouchEvent对象:
type(触摸事件的类型) / 类型:TouchType
–>TouchType.Down(手指按下时触发)
–>TouchType.Up(手指抬起时触发)
–>TouchType.Move(手指按压在屏幕上移动时触发)
–>TouchType.Cancel(触摸事件取消时触发)
touches(全部手指信息)
changedTouches(当前发生变化的手指信息)
timestamp(事件时间戳)
target(被触摸元素对象)–>此属性可参考上方点击事件中表格参数
使用示例:
效果演示:
3.挂载卸载事件
支持版本: eTS API Version 7+
事件名称:
1.onAppear(callback: () => void)
2.onDisappear(callback: () => void)
关键操作: import prompt from ‘@system.prompt’
注意事项: 因需要读取设备系统信息,运行需要在模拟真机或真机运行
使用示例:
效果演示:
4.按键事件
支持版本: eTS API Version 7+
事件名称: onKeyEvent(event: (event?: KeyEvent) => void)
KeyEvent对象:
type(按键事件的类型) / 类型:KeyType
–>TouchType.Down(按下按键)
–>TouchType.Up(松开按键)
KeySource(触发当前按键的输入设备类型) / 类型:KeySource
–>KeySource.Unknown(输入设备类型未知)
–>KeySource.Keyboard(输入设备类型为键盘)
KeyCode(按键的键码)
注意事项: 因需要读取设备系统信息,运行需要在模拟真机或真机运行
使用示例:
效果演示:
动图好评,很好的演示了效果