鸿蒙开发中,如何实现Stack布局页面内点击事件透传?

鸿蒙开发中,如何实现Stack布局页面内点击事件透传?

阅读 942
1 个回答

可以通过给组件设置触摸测试控制 hitTestBehavior 属性,根据设置不同的属性枚举值,达到不同的事件透传效果,具体可参考文档:https://developer.huawei.com/...\#ZH-CN\_TOPIC\0000001815767744\_hittestmode%E6%9E%9A%E4%B8%BE%E8%AF%B4%E6%98%8E 。
参考代码如下:

    @Entry
    @Component
    struct PageHitTestBehavior {
      @State message: string = 'Hello World';

      build() {
        Stack() {
          Column() {
            Text('下层column')
          }
         .onTouch(() => {
            console.log('下层onTouch')
          })
         .width('50%')
         .height('50%')
         .backgroundColor(Color.Blue)

          Column() {
            Text('上层column')
          }
         .onTouch(() => {
            console.log('上层onTouch')
          })
          //设置 HitTestMode.Transparent,自身和子节点都响应触摸测试,不会阻塞兄弟节点的触摸测试。
         .hitTestBehavior(HitTestMode.Transparent)
         .width('50%')
         .height('50%')
        }
       .width('100%')
       .height('100%')
      }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进