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

HarmonyOS(72)事件拦截处理详解

事件拦截

  • 1、参考资料
  • 2、HitTestMode
  • 3、onTouchIntercept、onTouch、onClick事件执行顺序
    • 3.1、系统默认事件传递顺序
    • 3.2、子组件拦截事件

1、参考资料

  1. HarmonyOS(71) 自定义事件分发之TouchTestStrategy使用说明
  2. HarmonyOS(70) ArkUI 事件分发拦截,事件冲突解决方案
  3. HitTestMode
  4. android事件拦截处理机制详解
  5. HarmonyOS 自定义拦截事件官方文档

2、HitTestMode

在分析事件拦截之前,需要了解下UI组件的hitTestBehavior属性,该属性可以设置不同的触摸测试响应模式,影响组件的触摸测试收集结果,最终影响后续的触屏事件分发。hitTestBehavior属性的参数就是HitTestMode,它有四个类型:

  • Default: 默认触摸测试效果,自身和子节点都响应触摸测试,但会阻塞兄弟节点的触摸测试。不会影响祖先节点的触摸测试。
  • Block:自身响应触摸测试,阻塞子节点和兄弟节点的触摸测试。会阻塞祖先节点的触摸测试。
  • Transparent:自身和子节点都响应触摸测试,不会阻塞兄弟节点的触摸测试。不会影响祖先节点的触摸测试。
  • None: 自身不响应触摸测试,不会阻塞子节点和兄弟节点的触摸测试。不会影响祖先节点的触摸测试。

HitTestMode的具体效果可以移步 HarmonyOS(70) ArkUI 事件分发拦截,事件冲突解决方案一文了解更多。

3、onTouchIntercept、onTouch、onClick事件执行顺序

onTouchIntercept为组件提供自定义的事件拦截能力,开发者可根据事件在控件上按下时发生的位置,输入源等事件信息决定控件上的HitTestMode属性,来实现事件拦截的效果。
本文通过如下代码来测试HarmonyOS的事件处理机制,布局就是一个粉红色背景的Column里放置一个蓝色背景的Text,,且分别为ColumnText设置onTouchInterceptonTouchonClick

build() {Column() {Text("hello world")   .onClick(() => {

相关文章:

HarmonyOS(72)事件拦截处理详解

事件拦截 1、参考资料2、HitTestMode3、onTouchIntercept、onTouch、onClick事件执行顺序3.1、系统默认事件传递顺序3.2、子组件拦截事件1、参考资料 HarmonyOS(71) 自定义事件分发之TouchTestStrategy使用说明HarmonyOS(70) ArkUI 事件分发拦截,事件冲突解决方案HitTestModea…...

docker(wsl)命令 帮助文档

WSL wsl使用教程 wsl -l -v 列出所有已安装的 Linux 发行版 wsl -t Ubuntu-22.04 --shutdown 关闭所有正在运行的WSL发行版。如果你只想关闭特定的发行版 wsl -d Ubuntu-22.04 登录到Ubuntu环境 wsl --list --running 查看正在wsl中运行的linux发行版 wsl --unregister (系统名…...

nginx 拦截指定ip访问指定 url

nginx 拦截指定ip访问指定 url 这里需要注意的是一定要用$http_x_forwarded_for 这个变量 upstream myapp1 { # 定义一个名为myapp1的服务器组 server backend1.example.com weight5; # 添加一个服务器,并设置权重为5 server backend2.example.com; # 添加另…...

git仓库的基本概念和流程以及一些基本命令

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史&#xff…...

Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程

目录 一、 准备工作 二、安装Codesys 软件 PLC 三、 使用Codesys IDE 编程测试 CODESYS* 是领先的独立于制造商的 IEC 61131-3 自动化软件,适用于工程控制系统。它用于 Intel Edge Controls for Industrial(Intel ECI 或 ECI),…...

互联网医院系统,互联网医院系统源码可供

互联网医院系统开发,其功能特点和优势在于实现了线上医疗服务与信息技术的深度融合。此系统旨在构建一个更为高效、便捷的医疗服务平台,提升患者的就医体验和医疗服务的效率。 一、功能特点 1、预约挂号与在线咨询 患者可通过系统进行预约挂号&#xf…...

Marin说PCB之POC电路layout设计仿真案例---06

我们书接上回啊,对于上面的出现原因我这个美女同事安娜说会不会你把POC电感下面的相邻两层的CUT_OUT的尺寸再去加大一些会不会变得更好呢?这个难道说是真的有用吗?小编我先自己算一卦看下结果。 本期文章我们就接着验证通过改善我们的单板POC…...

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒,变成别人肉鸡,不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长,比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…...

Fiddler勾选https后google浏览器网页访问不可用

一、说明 最近电脑重新安装系统后,之前的所有工具都需要重新安装和配置,有个项目需要抓包https包查看一下请求的内容,通过Fiddler工具,但是开启后,发现https的无法抓取,同时google浏览器也不无法访问互联网…...

机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差

注:本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识(一)颜色篇 视觉检测硬件构成的基本部分包括:处理器、相机、镜头、光源。 其中,和光源相关的最重要的两个参数就是光源颜色和…...

解决pytorch安装中的三个错误

查明已安装python版本为3.12.7后,创建虚拟环境。 报错内容:ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式: 输入 conda create -n pytorch python3.8即可安装成功。 参考文章:https://blo…...

用Python开发高级游戏:实现3D迷宫游戏

Python虽然被认为是一门简单易学的语言,但它在游戏开发领域同样具有强大的潜力,尤其是结合诸如Pygame、Panda3D、PyOpenGL等框架,可以开发出复杂的游戏。 在本文中,我们将通过一个示例,介绍如何使用Python开发一个高级3D迷宫游戏。本文使用的框架是 Panda3D,一个专为3D游…...

基于 uniapp 开发 android 播放 webrtc 流

一、播放rtsp协议流 如果 webrtc 流以 rtsp 协议返回&#xff0c;流地址如&#xff1a;rtsp://127.0.0.1:5115/session.mpg&#xff0c;uniapp的 <video> 编译到android上直接就能播放&#xff0c;但通常会有2-3秒的延迟。 二、播放webrtc协议流 如果 webrtc 流以 webrt…...

Unity引擎学习总结------动画控件

左侧窗格可以在参数视图和图层视图之间切换。参数视图允许您创建、查看和编辑动画控制器参数。这些是您定义的变量&#xff0c;用作状态机的输入。要添加参数&#xff0c;请单击加号图标并从弹出菜单中选择参数类型。要删除参数&#xff0c;请在列表中选择该参数并按删除键&…...

Pytorch | 从零构建GoogleNet对CIFAR10进行分类

Pytorch | 从零构建GoogleNet对CIFAR10进行分类 CIFAR10数据集GoogleNet网络结构特点网络整体架构应用与影响Inceptionv1到Inceptionv2 GoogleNet结构代码详解结构代码代码详解Inception 类初始化方法前向传播 forward GoogleNet 类初始化方法前向传播 forward 训练过程和测试结…...

基于SIFT的目标识别算法

基于SIFT&#xff08;Scale-Invariant Feature Transform&#xff09;的目标识别算法是一种经典的计算机视觉算法&#xff0c;用于在图像中寻找和匹配具有尺度不变性的特征点&#xff0c;从而实现目标的快速而准确的识别。 SIFT算法的主要步骤包括以下几个阶段&#xff1a; 尺…...

计算机组成原理的学习笔记(4)--数据的表示与运算·其三 补码的乘法以及原码补码的除法

学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记&#xff0c;仅用于学习交流。 1.补码乘法 基本操作 与正常原码乘法差不多&#xff0c;逐位乘&#xff0c;随后相加&#xff0c;而与符号位有关的一项也叫校正项 Booth算法 从乘数的最低位开始&#xff0c…...

压缩glb模型文件

使用?gltf-pipeline进行压缩&#xff1a; GitHub地址[这里是图片001]https://github.com/CesiumGS/gltf-pipeline 1. 安装gltf-pipeline npm install -g gltf-pipeline2. 在glb文件目录打开cmd进行命令行压缩&#xff1a; // cmd: gltf-pipeline -i glb.glb -d -s以下是 -…...

vertx idea快速使用

目录 1.官网下载项目 2.修改代码 2.1拷贝代码方式 为了能够快速使用&#xff0c;我另外创建一个新的maven项目&#xff0c;将下载项目的src文件和pom文件拷贝到新建的maven项目。 2.2删除.mvn方式 3.更新配置 4.配置application 5.idea启动项目 1.官网下载项目 从vert…...

如何创建属于自己的大语言模型:从零开始的指南

如何创建属于自己的大语言模型&#xff1a;从零开始的指南 为什么要创建自己的大语言模型&#xff1f; 随着人工智能的快速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;在各种场景中表现出了卓越的能力&#xff0c;例如文本生成、对话交互和内容总结等。虽然市场上…...

从PostgreSQL老手视角:快速上手华为GaussDB极简版,这些操作习惯几乎一样

从PostgreSQL老手视角&#xff1a;快速上手华为GaussDB极简版的10个关键习惯迁移 如果你已经习惯了PostgreSQL的命令行操作和配置逻辑&#xff0c;第一次接触华为GaussDB时会有种奇妙的熟悉感——就像走进一间重新装修过的老房子&#xff0c;家具摆放的位置几乎没变&#xff0c…...

剪映自动化终极指南:用Python代码解放你的视频创作时间

剪映自动化终极指南&#xff1a;用Python代码解放你的视频创作时间 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 还在为重复的视频剪辑工作烦恼吗&#xff1f;每天花几个小时在剪映…...

AI Agent将如何重构制造业的安全生产隐患识别模式?深度理解与实在Agent闭环实战

一、从“被动监控”到“主动进化”&#xff1a;2026年制造业安全隐患识别的范式迁移 站在2026年的时间节点回看&#xff0c;制造业的安全生产模式正经历着自工业4.0以来最深刻的变革。 传统的安全识别逻辑长期停留在“信号触发-人工干预”的被动阶段&#xff0c; 无论是基于阈值…...

别再硬编码了!ABAP Text Elements 三分钟搞定报表字段中文显示(附图标添加技巧)

ABAP文本元素实战&#xff1a;告别硬编码的报表开发艺术 每次看到报表界面上那些冷冰冰的字段名——MATNR、WERKS、VBELN——你是不是也感到一丝尴尬&#xff1f;业务用户可不懂这些技术缩写&#xff0c;他们需要的是直观的"物料编号"、"工厂"和"销售…...

从游戏地图切割到3D模型生成:凸多边形三角剖分在Unity/C++中的实战应用

从游戏地图切割到3D模型生成&#xff1a;凸多边形三角剖分在Unity/C中的实战应用 在游戏开发中&#xff0c;我们经常需要处理复杂的几何形状。无论是为开放世界游戏创建导航网格&#xff0c;还是为3D模型生成优化的三角面片&#xff0c;凸多边形的三角剖分都是核心技能之一。不…...

收藏备用!【2025 版】CMD 命令超详细大全,零基础全覆盖

在Windows操作系统中&#xff0c;命令提示符&#xff08;CMD&#xff09;是一个强大的工具&#xff0c;允许用户通过输入命令来执行各种操作。无论是系统管理、网络配置&#xff0c;还是文件管理&#xff0c;CMD都能提供高效的解决方案。 一、基本命令 cd&#xff1a;更改目录…...

不止是省9.9刀:解锁特斯拉Model 3的‘行驶中保持WiFi’功能,打造家庭移动娱乐中心

不止是省9.9刀&#xff1a;解锁特斯拉Model 3的‘行驶中保持WiFi’功能&#xff0c;打造家庭移动娱乐中心 特斯拉Model 3的车载4G网络虽然方便&#xff0c;但在信号不佳的区域或需要大流量娱乐的场景下&#xff0c;往往显得力不从心。更让许多家庭用户纠结的是&#xff0c;高级…...

SystemVerilog测试套件从IP到SoC的重用:架构设计与工程实践

1. 项目概述&#xff1a;从IP到SoC的验证鸿沟在芯片设计行业里摸爬滚打十几年&#xff0c;我见过太多团队在项目后期被验证工作拖得焦头烂额。一个典型的场景是&#xff1a;某个IP&#xff08;知识产权核&#xff0c;比如一个USB控制器或一个DDR内存控制器&#xff09;在独立验…...

GD32F4xx内部FLASH读写避坑指南:从用户手册到代码调试,手把手教你搞定0x08040000地址操作

GD32F4xx内部FLASH操作实战&#xff1a;从手册解读到调试验证的完整指南 第一次接触GD32F4系列MCU的内部FLASH操作时&#xff0c;很多开发者都会遇到各种"坑"&#xff1a;为什么擦除后数据变成了0xFF&#xff1f;为什么写入操作会失败&#xff1f;地址0x08040000到底…...

基于Atmega8的红外通信系统:从原理到自定义协议实现

1. 项目概述&#xff1a;为什么是Atmega8&#xff1f;在嵌入式开发领域&#xff0c;红外遥控是一个经典且应用广泛的课题。从家里的电视、空调遥控器&#xff0c;到一些工业设备的非接触式控制&#xff0c;红外通信无处不在。市面上有大量现成的红外编解码芯片&#xff0c;比如…...