理想情况下,我想知道在画画时滚动的当前速度.目前,我使用GestureDetector.OnGestureListener并捕获onScroll事件,这非常有效,除了它也不会将flings检测为滚动事件.
想到的一个想法是捕获onFling事件,然后自行进行处理,以便以后检测速度.
有没有更好的方法来实现这一点?任何简单的查询GrIDVIEw滚动速度的方法?
谢谢.
解决方法 嗯,我希望你现在得到你的答案,但我仍然会发布一个,以备将来使用…您将需要覆盖OnScrollListener并计算自己的速度.
运动学:距离/时间=速度
private class SpeedDetectorOnScrollListener implements OnScrollListener { private long timeStamp; private int prevFirstVisibleItem; private int scrollingSpeed; public SpeedDetectorOnScrollListener () { timeStamp = System.currentTimeMillis(); lastFirstVisibleItem = 0; } @OverrIDe public voID onScroll(AbsListVIEw vIEw,int firstVisibleItem,int visibleItemCount,int totalitemCount) { long lastTime = System.currentTimeMillis(); timeStamp = lastTime; lastFirstVisibleItem = firstVisibleItem; scrollingSpeed = (firstVisibleItem - lastFirstVisibleItem)/(lastTime-timeStamp) } public int getSpeed() { return scrollingSpeed; } }总结
以上是内存溢出为你收集整理的检测GridView滚动速度 – Android全部内容,希望文章能够帮你解决检测GridView滚动速度 – Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)