gpt4 book ai didi

android - 覆盖与 ScrollView 竞争的 onTouchEvent

转载 作者:IT老高 更新时间:2023-10-28 23:27:46 31 4
gpt4 key购买 nike

从一个简单的概述中,我有一个自定义 View ,其中包含一些用户可以拖动和调整大小的位图。

我这样做的方式是相当标准的,因为我在 CustomView 中覆盖 onTouchEvent 并检查用户是否在图像内触摸等。

当我想将此 CustomView 放在 ScrollView 中时,我的问题就出现了。这可行,但 ScrollView 和 CustomView 似乎在争夺 MotionEvents,即当我尝试拖动图像时,它要么移动缓慢,要么 View 滚动。

我在想我可能必须扩展一个 ScrollView 以便我可以覆盖 onInterceptTouchEvent 并让它知道用户是否在图像的范围内不要尝试滚动。但是由于 ScrollView 在层次结构中较高,我将如何访问 CustomView 的当前状态?

有没有更好的办法?

最佳答案

通常,在此类情况下,Android 会使用长按来开始拖动,因为它有助于消除用户打算拖动项目与滚动项目容器的歧义。但是,如果您在用户开始拖动项目时有明确的信号,请在知道用户开始拖动时从自定义 View 中尝试 getParent().requestDisallowInterceptTouchEvent(true)。 (此方法的文档 here 。)这将阻止 ScrollView 拦截触摸事件,直到当前手势结束。

关于android - 覆盖与 ScrollView 竞争的 onTouchEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194739/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com