HarmonyOS 鸿蒙Next如何实现点击事件穿透

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何实现点击事件穿透

请问如何实现

  1. 点击黑色控件时,其点击事件透传至蓝色控件。
  2. 点击图片时,图片正常响应。
  3. 点击蓝色控件时,蓝色控件正常响应。
import { promptAction } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      RelativeContainer() {
      }
      .backgroundColor(Color.Blue)
      .onClick(() => {
        promptAction.showToast({ message: '点击了蓝色' })
      })

      Row() {
        Image($r('app.media.startIcon')).fitOriginalSize(true).onClick(() => {
          promptAction.showToast({ message: '点击了图片' })
        })
          .hitTestBehavior(HitTestMode.Block)
      }
      .width('100%')
      .height(100)
      .justifyContent(FlexAlign.SpaceAround)
      .backgroundColor(Color.Black)
      .alignRules({ bottom: { anchor: '__container__', align: VerticalAlign.Center } })
      .onClick(() => {
        promptAction.showToast({ message: '点击了黑色' })
      })
      .hitTestBehavior(HitTestMode.Transparent)
    }
  }
}

更多关于HarmonyOS 鸿蒙Next如何实现点击事件穿透的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

cke_158.png

cke_406.png

更多关于HarmonyOS 鸿蒙Next如何实现点击事件穿透的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


子组件传递方法

项目名称

  • 状态:已完成
  • 技术栈:Python, JavaScript, HTML, CSS
  • 项目链接GitHub
  • 演示链接在线预览

项目描述

这是一个示例项目,用于展示如何将HTML内容转换为Markdown格式。项目主要目的是测试不同的标记语言之间的转换能力。

在HarmonyOS鸿蒙系统中,实现点击事件穿透通常是指在某个UI组件上点击时,该点击事件能够穿透该组件,继续传递给其下方的组件。以下是在HarmonyOS中实现点击事件穿透的基本方法:

  1. 设置组件的点击事件为不消费:确保该组件的点击事件处理逻辑不消费(即不拦截)该事件,允许其继续传递。这通常需要在组件的点击事件处理函数中不执行任何阻止事件传递的操作。

  2. 使用特定的布局属性:在某些情况下,可以通过设置布局属性来控制事件的传递。例如,某些布局容器可能提供属性来允许子组件的事件穿透到父级或其他同级组件。

  3. 自定义组件处理:如果使用的是自定义组件,可以在组件内部实现逻辑以控制事件的传递。例如,在接收到点击事件时,可以选择不处理该事件,而是直接将其传递给父组件或特定的其他组件。

需要注意的是,具体实现方式可能会因鸿蒙系统的版本和API的不同而有所差异。如果上述方法无法直接解决你的问题,可能是因为你的应用场景或组件类型有特殊的处理需求。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部