曾经改一个输入法bug
效果:颜文字页是有一个向下翻页的button,点击直到到最后一页时,再次点击直接跳转到第一页
结果:连续的快速点击,到最后一页,点击时不跳转至第一页,只有抖动现象
查看代码,跳转至首页的时候用的是scrollTo(int x, int y), xy都是0,没有问题
经过多方排查分析结果如下:
原因一:此处的UI是scrollView中套了一个listView,但是尺寸计算错误,scrollView的长度是固定值,listView的长度计略少,也就是说listview的底部与scrollView的底部有3dp的差值,这就是抖动现象产生的原因。
原因二:网上搜索终于知道了关键原因 http://blog.youkuaiyun.com/lovehong0306/article/details/7855950
由于滑动动画还在继续,scrollTo在执行后效果被滑动动画覆盖,没起作用。
因为存在差值,点击时还存在动画效果,这时候scroll动作被覆盖了,所以无法执行,也就解释了为什么快速点击出现问题,而缓慢点击没有问题
按照博主的建议使用了smoothScrollTo()
效果就是可以打断动画,完美解决