当前位置: 首页 > article >正文

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

相关文章:

  • HTML5 Audio(音频)
  • 电脑提示ntdll.d缺失是什么原因?不处理的话会怎么样?ntdll.dll文件缺失快速解决方案来啦!
  • 数据云平台的可观测性
  • 【Leecode】Leecode刷题之路第87天之扰乱字符串
  • SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能
  • ip_output函数
  • 音视频学习(二十六):http-flv
  • Docker搭建kafka环境
  • 线性分类器(KNN,SVM损失,交叉熵损失,softmax)
  • 微信小程序-生成骨架屏
  • nbcio-vue版本第一次登录出现404问题
  • Docker安全性与最佳实践
  • Hive其五,使用技巧,数据查询,日志以及复杂类型的使用
  • 【VSCode】常用插件汇总
  • linux应用编程(点亮LED)
  • VSCode 中 Git 功能比较:内置 Git、GitLens 与 Git History 插件
  • 腾讯游戏安全移动赛题Tencent2016A
  • gesp(二级)(8)洛谷:B3866:[GESP202309 二级] 数字黑洞
  • 云手机测评:云端赋能的智能移动新势力
  • 解决vscode ssh远程连接服务器一直卡在下载 vscode server问题
  • 5G 模组 初始化状态检测