滚动视图中的子视图在滚动后单击延迟

childview in scrollview click delay after scroll

我在滚动视图中有一个 webview,其中 javascript 监听点击事件。 正常情况下听是没有问题的,但是刚滚动就听不到了。我需要第一次单击以停止滚动并单击一两次以触发单击事件。或者稍等片刻直到滚动条淡出。

我做了一个研究,知道这是滚动视图的正常行为。我尝试在 webview 上设置一个 ontouchlistener 以 requestDisallowInterceptTouchEvent(true) 但只是让它无法再滚动。是否有任何方法可以取消滚动并同时执行单击而不会延迟滚动视图?

终于通过看文档解决了。我刚放 android:descendantFocusability="blocksDescendants" 在 scrollview 的主要子视图中,然后解决我的问题。

对于 Gopal Singh Sirvi 的提问,我认为在某些情况下您需要将 webview 放在 scrollview 中。假设一个部分的数据包含 html 代码。我猜gmail的内容页也是这样的。 (打开show layout bounds后,内容好像是在webview里面,其他的不是)

希望对您有所帮助!