HarmonyOS Marquee组件引起点击事件冲突

marquee组件与image同在约束布局中,image居左,marquee居中,当marquee不满一行未运行跑马灯效果时,image点击事件正常响应,当marquee超过一行开始运行跑马灯效果时,image点击事件不会触发

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

可以在Marquee组件下添加 .hitTestBehavior(HitTestMode.Transparent)让手势透传下去,点击事件就可以正常触发了参考链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md

参考demo:

import promptAction from '@ohos.promptAction'
import measure from '@ohos.measure'
import componentUtils from '@ohos.arkui.componentUtils'
@Entry
@Component
struct MarqueeExample {
  @State @Watch('textChange') private webTitle: string ="asdhaidiuassakurasakurasakurasakurasakurasak" //'sakurasakurasakurasakurasakurasakurasakurasakurasakurasakura'
  @State private overflow: boolean = true
  textChange() {
    let width = measure.measureText({
      textContent: this.webTitle,
      fontSize: 20 // 单位fp
    }) // 返回值单位px

    let rect = componentUtils.getRectangleById('title')
    this.overflow = width > rect.size.width
  }

  build() {
    Column() {
      Row({ space: 40 }) {

        Image($r('app.media.app_icon'))
          .width(50)
          .height(50)
          .onClick(() => {
            console.log(TAG, 'click me')
            promptAction.showToast({
              message: 'click me',
              duration: 2000
            })

          })

        Marquee({src:this.webTitle, start:true})
          .fontSize(20)
          .fontColor(Color.Black)
          .id('title')
          .align(Alignment.Center)
          .hitTestBehavior(HitTestMode.Transparent)

      }


    }
    .backgroundColor(Color.Green)
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 滑动事件冲突
46浏览 • 1回复 待解决
HarmonyOS 触摸事件冲突问题
30浏览 • 1回复 待解决
滑动嵌套事件冲突处理
292浏览 • 0回复 待解决
Marquee组件使用问题有哪些?
393浏览 • 0回复 待解决
HarmonyOS 组件叠加阻拦点击事件问题
57浏览 • 1回复 待解决
设置TextInput组件光标位置在起点
563浏览 • 1回复 待解决
事件分发冲突问题,如何解决?
451浏览 • 1回复 待解决
组件中如何处理子组件点击事件
2777浏览 • 1回复 待解决
HarmonyOS 父子组件滑动冲突
46浏览 • 1回复 待解决
HarmonyOS 富文本点击事件
522浏览 • 1回复 待解决
HarmonyOS 卡片点击事件失效
35浏览 • 1回复 待解决
HarmonyOS 如何hook点击事件
48浏览 • 1回复 待解决