android 拖动imageview使用方法 如果没有拖动到指定的位置 返回到起点怎么实现

本文实例为大家分享了Android使用Scroller实现彈性滑动展示的具体代码供大家参考,具体内容如下

View内部为了实现滑动提供了这两个方法但是使用这两个方法滑动的效果是瞬间的不夠平滑,如何实现View的弹性滑动呢这正是本博文讨论的主题。另外这两个函数滑动的是View的内容不是View本身比如对于普通View好比TextView其内容就是文夲,imageview使用方法的内容则是drawable对象采用这两种方法滑动的时候其实分别滑动的是文本及drawable对象,对于ViewGroup采用这两种方法滑动的时候则是对其子元素的滑动所以想要使用scrollTo、scrollBy方法实现拖动View(指的是普通的View不包含ViewGroup)的效果必须在View外面在包一层ViewGroup。

上面提到使用scrollTo、scrollBy来滑动View的时候是很生硬得滑过去的不够平滑,自然用户体验也不好因此我们要实现一个弹性的滑动。如何实现弹性滑动呢方法有很多,但思想都是一致的即将实现一段距离的滑动分成多次来进行,每一次滑动一小段渐近式的滑动。本文只是介绍其中的一种即使用Scroller实现弹性滑动以下结合實例看看Scroller是如何实现平滑滑动的呢 ?

 
 
 
 //递归终止条件:滑动结束 
 

以下是对Scroller几个方法的分析:

 //记录开始滑动的时间 
 //mDuration表示的是整个滑动持续的时间 
 
 //判断此刻是否在有效滚动周期内 
 //当前时刻滑动偏移量所占份额 
 
 //获取当前时刻要滚动到的位置 
 
 
 
 
 

看到这我们应该明白SmoothScrollView是如何实现让自己平滑滑動的呢实际上正真让SmoothScrollView产生平滑滑动的并非是Scroller而是SmoothScrollView自己,是SmoothScrollView自己多次调用了自己的scrollerTo方法并且每次滑动一小步从而实现平滑滑动而Scroller类干的倳只是辅助SmoothScrollView计算每一次小滑动要到达的目标坐标,而实现多次调用了自己的scrollerTo方法这里没有使用循环体则是利用程序设计技巧“递归调用”invalidate方法达到多次调用scrollTo方法的目的从而实现平滑滑动

以上就是本文的全部内容,希望对大家的学习有所帮助也希望大家多多支持脚本之家。

我要回帖

更多关于 imageview使用方法 的文章

 

随机推荐