滑动速度监听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释放。


目录
相关文章
|
7月前
|
小程序 UED 开发者
小程序如何监听页面的滚动事件
小程序如何监听页面的滚动事件
245 0
|
存储
uniApp监听左右滑动事件
uniApp监听左右滑动事件
519 0
|
22天前
|
UED
Bootstrap5 滚动监听(Scrollspy)2
Bootstrap5 滚动监听(Scrollspy)插件能自动更新导航目标,随滚动条位置变化而动态调整。示例中,垂直导航栏随页面滚动实时高亮对应部分,如“Navbar Item 1”、“Item 2”等,提升用户体验。
|
22天前
|
前端开发
Bootstrap5 滚动监听(Scrollspy)1
Bootstrap5 滚动监听(Scrollspy)插件可自动更新导航目标,根据滚动条位置变化。通过在目标元素(如 body)添加 `data-bs-spy="scroll"` 和 `data-bs-target` 属性,关联导航栏与可滚动区域,确保导航项的 id 与链接匹配。可选设置 `data-bs-offset` 偏移量,默认10px。使用时需将元素的 CSS position 设为 "relative"。
|
5月前
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
52 1
|
5月前
|
JavaScript
vue 监听滚动条行为 | 判断滚动条是向上滚动还是向下滚动
vue 监听滚动条行为 | 判断滚动条是向上滚动还是向下滚动
209 0
|
7月前
|
前端开发 JavaScript UED
滚动监听(Scrollspy)
滚动监听(Scrollspy)是Bootstrap框架中的一个实用插件,它可以实时监测滚动条的位置,根据滚动位置自动更新导航项,从而实现与用户滚动行为相关的动态交互。当用户滚动页面时,滚动监听会自动选中导航条中相应的位置,使其高亮显示。这可以帮助用户更好地浏览和导航页面,提高用户体验。
158 31
|
iOS开发
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
905 0
有关tabBarController对下面按钮的监听
有关tabBarController对下面按钮的监听
231 0
有关tabBarController对下面按钮的监听