HarmonyOS(71) 自定义事件分发之TouchTestStrategy使用说明
TouchTestStrategy
- 1、前言
- 2、TouchTestStrategy简介
-
- 2.1、TouchTestStrategy枚举类型简介
- 2.2、TouchTestStrategy.DEFAULT效果
- 1.3、TouchTestStrategy.FORWARD_COMPETITION效果
- 2.3、TouchTestStrategy.FORWARD效果
- 3、参考资料
1、前言
本文根据官方文档自定义事件分发整理而来,读者也可以直接去官方文档阅读。
2、TouchTestStrategy简介
在HarmonyOS(70) ArkUI 事件分发拦截,事件冲突解决方案中简单讲解了事件分发的相关知识,主要对onTouch事件执行流做了说明。另外在ArkUI在处理触屏事件时,会在触屏事件触发前进行按压点和组件区域的触摸测试,来收集需要响应触屏事件的组件,再基于触摸测试结果分发相应的触屏事件。在父节点,开发者可以通过onChildTouchTest
决定如何让子节点去做触摸测试,影响子组件的触摸测试,最终影响后续的触屏事件分发。
如下图所示,我们通过onChildTouchTest
来控制事件响应,比如我们可以在上下两块红色区域滑动手指时带动中间的List组件滑动,也可以禁止List组件一起滑动。这都需要TouchTestStrategy来控制。
上图的代码如下:
// xxx.ets
import {
promptAction } from '@kit.ArkUI';
@Entry
@Component
struct ListExample {
private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
@State text: string = 'Button'
build() {
Column() {
List({
space: 12, initialIndex: 0 }) {
ForEach(this.arr, (item: number) => {
ListItem() {
Text('Item '
原文地址:https://blog.csdn.net/chunqiuwei/article/details/144549482
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/447253.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/447253.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!