前几天工作上遇到一个需要监听 Scrollview 滚动停止的问题,然后开始谷歌解决方案,但是都不是很满意,最后在和同事的讨论中获得灵感得出了下面的解决方案,经实测有效,供大家参考一下。
思路
思路是这样的:首先要确定监听的时机,因为 ScrollView 在滚动的过程中和绘制的时候需要 computeScroll,所以在 computeScroll 的时候监听; 然后用反射检测滚动是否停止; 最后由于工作的需求是在 Touch 的情况下都不算停止所以还要监听 touch event。
其中有用到反射,对反射不是很了解的可以看我的这篇博客 Java 反射机制
Code
关键代码如下:
|
|