滑动速度监听VelocityTracker

简介: 有时候我们需要知道滑动速度来进行一些处理,这就需要用到VelocityTracker,通过它我们可以很方便的得到滑动速度。

前言


有时候我们需要知道滑动速度来进行一些处理,这就需要用到VelocityTracker,通过它我们可以很方便的得到滑动速度。


使用


首先创建一个VelocityTracker对象


var tracker = VelocityTracker.obtain()
复制代码


然后在onTouchEvent函数的一开始添加一下:


override fun onTouchEvent(event: MotionEvent?): Boolean {
    tracker.addMovementEvent(event)
    ...
复制代码


这样就开始监听滑动了,然后我们在ACTION_UP事件中收集速度,代码如下:


MotionEvent.ACTION_UP -> {
    tracker.computeCurrentVelocity(1000)
    val xVelocity = tracker.xVelocity
    val yVelocity = tracker.yVelocity
    ...
    tracker.clear()
}
复制代码


先执行computeCurrentVelocity函数,它的参数是我们获取的速度的单位,1表示 1像素/毫秒,所以代码中1000则代码速度单位时1像素/秒。

然后通过getXVelocitygetYVelocity来分别获取两个方向上的速度即可。

最后一定要执行clear来重置一下。

如果确定不再使用这个VelocityTracker,可以执行recycle释放。


目录
相关文章
|
4月前
|
小程序 UED 开发者
小程序如何监听页面的滚动事件
小程序如何监听页面的滚动事件
144 0
|
10月前
|
存储
uniApp监听左右滑动事件
uniApp监听左右滑动事件
365 0
|
2月前
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
37 1
|
4月前
|
前端开发 JavaScript UED
滚动监听(Scrollspy)
滚动监听(Scrollspy)是Bootstrap框架中的一个实用插件,它可以实时监测滚动条的位置,根据滚动位置自动更新导航项,从而实现与用户滚动行为相关的动态交互。当用户滚动页面时,滚动监听会自动选中导航条中相应的位置,使其高亮显示。这可以帮助用户更好地浏览和导航页面,提高用户体验。
143 31
|
iOS开发
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
875 0
有关tabBarController对下面按钮的监听
有关tabBarController对下面按钮的监听
219 0
有关tabBarController对下面按钮的监听
|
Android开发
EditText默认不获取焦点,隐藏软键盘,焦点监听,输入监听,样式设置
EditText默认不获取焦点,隐藏软键盘,焦点监听,输入监听,样式设置
787 0
|
Dart 开发者
【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )(三)
【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )(三)
222 0
【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )(三)
|
XML Android开发 数据格式
Activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现---Android提高篇
Activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现---Android提高篇
1096 0