问题背景
单指点击屏幕时,出现了滑动效果。
解决方案
dump input相关信息,MotionEvent有对应的down、up、move事件,手指正常点击时会出现move事件,手指快速点击,不会出现move事件。
而系统是怎么判别我们手指操作屏幕时是滑动事件?
首先我们应该认识一个TouchSlop概念:
系统所能识别出的被认为是滑动的最小距离, 即当手指在屏幕上滑动时,如果两次滑动之间的距离小于这个常量, 那么系统就不认为你是在进行滑动操作。 原因:滑动的距离太短,系统不认为它是滑动。
那么这个常量是在哪里定义的呢?
通过ViewConfiguration. get(getContext()).getScaledTouchSlop()可获取这个常量。
而在源码的位置: