重写dispatchTouchEvent方法
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (ev?.action == MotionEvent.ACTION_DOWN) {
//如果两次点击间隔小于500毫秒,则拦击事件分发
if (checkDoubleClickTime()) {
return true
}
}
return super.dispatchTouchEvent(ev)
}
/**
* 确认两次点击间隔时间
**/
private fun checkDoubleClickTime(): Boolean {
val timeClick = SystemClock.uptimeMillis()
if (lastClickTime >= timeClick - 500) {
return true
}
//记录上次点击时间
lastClickTime = timeClick
return false
}