Android scrollToTop实现点击回到顶部(兼容PullTorefreshScrollview)
最近因为项目组需求,特研究了一下“回到顶部”效果,即:页面里有scrollview,内容很多,当滑动到页面下面或者更深时,需要回到顶部,即可点击出现的按钮,省得回滑N久。翻阅资料后发现,scrollview的onScrollChanged方法是受保护的。它需要有一个高度临界值,与activity传递scrollview的scrollY值比较,来判定ToTopImageView是否显示。只是这样有个小问题,onScrollChanged方法是监控滚动状态的,没有说停止。于是查看其源码,发现把事件拦截了。运行报错,同样无效。在onTouch回调中down、move或者up时调用。比喻当你手指离开屏幕后,之前传递进来的scrollY就已经过时了,scrollview仍在滑动。在消息回调里面实时获取再判断由于是用线程来检测scrollview的滚动状态,我用了延时消息。在自定义imageview中创建了handler属于主线程,子线程中需要发延时消息。
用户评论