onLongPress 和 onShowPress 的区别

Difference between onLongPress and onShowPress

根据 Android 开发人员:

onLongPress Notified when a long press occurs with the initial on down MotionEvent that trigged it.

onShowPress The user has performed a down MotionEvent and not performed a move or up yet. This event is commonly used to provide visual feedback to the user to let them know that their action has been recognized i.e. highlight an element.

我都尝试了一个按钮,并使用 Toast 来表示 showPresslongPress 发生了。但是,我看不出有什么不同。

onLongPressonShowPress 有什么区别?当我们 override GestureDetector 那些 MotionEvents 时有哪些例子?

onLongPress会在触摸事件(按下屏幕)的时间量等于getLongPressTimeout时触发(可见here)。当它触发时,这表明按下已变成长按。

另一方面,

onShowPress 表示触摸事件确实是点击(而不是滚动)。要知道触摸事件何时是点击,有一个时间间隔,在该时间间隔内将记录触摸事件的移动。时间间隔由getTapTimeout返回(读取here)。

两者都与触摸事件有关,但触发时间不同(目的不同)。阅读问题 (here) 中评论提供的 link 将有助于您理解两者。