我使用
看起来
有没有办法改变这种行为并创建一个平滑的滚动,而不是使用低级别的touch事件实现自定义滚动手势?
GestureDetector
在自定义View
中实现滚动。 我的实现基于这个链接: Smooth scrolling with inertia and edge resistance/snapback
我注意到在滚动开始之前会有一个短暂的暂停: 我检查了onScroll
消息,并注意到只有在手指移动很远时,第一个消息才会到达,这会导致滚动开始时明显的延迟。 之后滚动就很流畅了。看起来
GestureDetector
开始发送onScroll
消息只有在motionevents之间有最小距离时,以确保手势不是长按或轻触(btw我设置了setIsLongpressEnabled(false)
)。有没有办法改变这种行为并创建一个平滑的滚动,而不是使用低级别的touch事件实现自定义滚动手势?
`private fun GestureDetector.hackTouchSlop() { try { val touchSlopField = javaClass.getDeclaredField("mTouchSlopSquare") touchSlopField.isAccessible = true touchSlopField.set(this, 0) } catch (ignored: Throwable) { } }`
- Mate Herber