美文网首页
scroller的使用和scrollto简述

scroller的使用和scrollto简述

作者: 青之雀 | 来源:发表于2017-02-27 17:19 被阅读0次

    今天学习了scroller的使用,整理一下知识点。

    1.每一个view都有 scrollto()和scrollby()的方法用于控件的滑动,这种方法直接调用显得很生硬,没有滑动的过程。

    2.scrollto()和scrollby()的方法的区别,scrollby 是相对当前位置的相对移动,scrollto 是相对于初始位置的绝对滑动,所以调用多次scrollto()方法无效,调用多次scrollby()方法有效,实际上scroll by的内部也是调用scroll to 的方法,只是参数值上多加上了一个偏移量(和初始位置的距离)

    3.scrollto()的使用参数上是反的,例如你使用:scroll(20,10),会在x轴上的负方向(左)移动20px,会在y轴上的负方向(下)移动10px,这就尴尬了,为什么呢,因为重新计算控件位置时,是x减去20,y减去10 ,而不是正常逻辑上的加。

    4.scrollto()滑动的是控件的内容,而不是view的本身,什么是控件的内容?举个例子:textview里的字是textview的内容,viewgroup里子控件是控件的内容, 发生滚动时,滚动的是控件的内容。不信的话你可以把空间设置背景色,调用scrollto()方法,可以看出结果。

    5.scroller的使用:scroller是用于平滑的让控件滑动,它更像一个插值器,根据滑动时间关系不断计算view当前应该在什么位置,再调用scrollto滑动到此处。比如 a滑到b 要100px,我要在10秒中滑动结束,(假设滑动是匀速的),那么第一秒,scroller计算出view 应该滑动到10px处,用scrollto方法滑到10px处,再重绘,第二秒,scroller计算出view 应该滑动到20px处,用scrollto方法滑到20px处,再重绘...一直到滑动结束。就像是桢动画一样。

    相关文章

      网友评论

          本文标题:scroller的使用和scrollto简述

          本文链接:https://www.haomeiwen.com/subject/qvrwwttx.html