在HarmonyOS中,List滑动时怎么不让旁边组件误触?

在HarmonyOS开发中,我做了一个侧滑页面,中间是 List,右边有一个侧边栏按钮。但是在快速滑动 List 时,总会误触到按钮的 onClick,很影响体验。我看到 onChildTouchTest 好像可以控制触摸事件分发,有办法让滑动优先,只让 List 响应吗?

阅读 613
1 个回答

据我所知,你可以通过 TouchTestStrategy.FORWARD 明确告诉系统:只把触摸事件分发给 List,其它兄弟组件都别响应。

你可以这样写:

.onChildTouchTest((touchInfo) => {
  for (let info of touchInfo) {
    if (info.id === 'MyList') {
      return { id: info.id, strategy: TouchTestStrategy.FORWARD }
    }
  }
  return { strategy: TouchTestStrategy.DEFAULT }
})

这样,List 滑动操作就不会再被右侧按钮误拦截,体验更自然。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进