HarmonyOS 事件穿透问题

column内部有宽高都是100%的textArea我现在要实现column长按弹出toast功能,请问怎么实现。其中textarea不能有光标,不能有长按事件所以屏蔽了,由于功能需要不能用text代替。目前是长按时不出现toast

import { promptAction } from '@kit.ArkUI'; 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World'; 
  build() { 
    Row() { 
      Column() { 
        TextArea({text:"124"}) 
          .fontSize(50) 
          .textAlign(TextAlign.End) 
          .align(Alignment.BottomEnd) 
          .groupDefaultFocus(true) 
          .focusable(false) 
          .selectionMenuHidden(true) 
          .width('100%') 
          .height('100%') 
      }.backgroundColor("#ff0000") 
      .height('50%') 
      .width('50%') 
      .gesture(LongPressGesture().onAction(async (event: GestureEvent) => { 
        if (event){ 
          promptAction.showToast({ 
            message: 'Message Info', 
            duration: 2000 
          }); 
        } 
      }) 
      ) 
    } 
    .width('100%') 
    .alignItems(VerticalAlign.Center) 
    .justifyContent(FlexAlign.Center) 
    .height('100%') 
  } 
}
HarmonyOS
2024-08-09 16:06:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

代码如下:

import { promptAction } from '@kit.ArkUI'; 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World'; 
  build() { 
    Row() { 
      Column() { 
        TextArea({ text: "124" }) 
          .fontSize(50) 
          .textAlign(TextAlign.End) 
          .align(Alignment.BottomEnd) 
          .groupDefaultFocus(true) 
          .focusable(false) 
          .selectionMenuHidden(true) 
          .width('100%') 
          .height('100%') 
      }.backgroundColor("#ff0000") 
      .height('50%') 
      .width('50%') 
      .hitTestBehavior(HitTestMode.Block) 
      .gesture(LongPressGesture().onAction(async (event: GestureEvent) => { 
        if (event) { 
          promptAction.showToast({ 
            message: 'Message Info', 
            duration: 2000 
          }); 
        } 
      }) 
      ) 
    } 
    .width('100%') 
    .alignItems(VerticalAlign.Center) 
    .justifyContent(FlexAlign.Center) 
    .height('100%') 
    .width("100%") 
  } 
}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-gesture-events-multi-level-gesture-0000001839307337#ZH-CN_TOPIC_0000001811316818__hittestbehavior%E5%AF%B9%E6%89%8B%E5%8A%BF%E5%92%8C%E4%BA%8B%E4%BB%B6%E7%9A%84%E6%8E%A7%E5%88%B6

分享
微博
QQ
微信
回复
2024-08-09 19:28:22
相关问题
组件有没有支持事件穿透的属性
1695浏览 • 1回复 待解决
floating window可以设置事件穿透吗?
177浏览 • 1回复 待解决
如何阻止Flex容器鼠标事件穿透
1928浏览 • 1回复 待解决
HarmonyOS 键盘事件监听问题
447浏览 • 1回复 待解决
如何实现悬浮窗桌面穿透
742浏览 • 1回复 待解决
HarmonyOS 事件订阅 emitter问题
436浏览 • 1回复 待解决
HarmonyOS 事件独占控制问题
263浏览 • 1回复 待解决
HarmonyOS 线程通信 事件循环问题
232浏览 • 1回复 待解决
事件分发冲突问题,如何解决?
308浏览 • 1回复 待解决
HarmonyOS 无法接收事件
179浏览 • 1回复 待解决
HarmonyOS 如何捕捉长按事件
131浏览 • 1回复 待解决
HarmonyOS 富文本点击事件
286浏览 • 1回复 待解决
HarmonyOS ImageSpan点击事件无法触发
354浏览 • 1回复 待解决
HarmonyOS 类似eventbus的事件消息框架
177浏览 • 1回复 待解决
HarmonyOS 屏幕点击事件监控代码
298浏览 • 1回复 待解决
HarmonyOS 组件是否有长按事件
387浏览 • 1回复 待解决
HarmonyOS 有无对应的长按事件
318浏览 • 1回复 待解决