同一个控件如何同时监听点击和长按事件?

有一个订单列表,点击列表项时跳转到订单详情页面;长按则弹出操作菜单。

现在是用的

 ItemView() .priorityGesture(LongPressGesture().onAction(event)=>{
 	//菜单
 })
 .onClick((_)=>{
 //跳转 
 })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

想问下有没有类似Android 中的写法: ItemView().onLongPress().onClick()

HarmonyOS
组件长按事件
组件单击事件
2025-03-03 17:43:19
978浏览
收藏 0
回答 3
回答 3
按赞同
/
按时间
Aquinos
1

在鸿蒙的ArkUI框架中,可以通过组合使用.gesture()和.onClick()实现类似Android的链式写法。具体实现方式如下:


ItemView()

.gesture(
  LongPressGesture()

    .onAction((event: GestureEvent) => {
      // 弹出操作菜单
    })

)

.onClick(() => {
  // 跳转订单详情
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
分享
微博
QQ
微信
回复
2025-03-16 22:38:15
ZJPRENO

点击是onClick,长按事件应该是onTouch

分享
微博
QQ
微信
回复
2025-03-04 15:51:00
YEsther

在HarmonyOS里面,能通过.onLongPress().onClick()来为同一控件同时添加点击和长按事件

在 Android 里,能通过 ​setOnClickListener​ 和 ​setOnLongClickListener​ 为同一控件同时设置点击和长按事件监听。


分享
微博
QQ
微信
回复
2025-03-16 11:45:57


相关问题
HarmonyOS 多module同时依赖同一个har
1736浏览 • 1回复 待解决
HarmonyOS 控件长按事件怎么监听
900浏览 • 1回复 待解决