android scroll的小理解

最近在项目里,需要用到滑动scroll,特别是涉及多个图片联动滚动滑动和带有嵌套Layout的滚动滑动。项目需求显示用gallery或ViewPager都无法满足要求。

所以自定义的view,实现滑动滚动迫在眉睫,特点将scrollBy及scrollTo与scroller小提一把。

1、scrollBy 是将view从当前的位置移偏(相对于原来的点)滑动到到某个点,比如原来的点是(100,10) 那么 scrollBy(20,10) 后为(120,20)

2、scrollBy 是将view从当前的位置滑动到到某个点,比如原来的点是(100,10) 那么 scrollBy(20,10) 后为(20,10)

3、scroller类有个startScroll(startX, startY, dx, dy, duration)方法,代表用外部的scroller滑动滚动器来模拟滚动。用四个参数的方法时duration默认250ms。

      用此方法时,当scroller开始滑动滚动时,可以通过getFinalX获取此scroller相对于原来在x轴移动的偏移量,当把这些偏移量就可以获取到每一次,scroller移动点了哪点,有了这个值,就可以将自定义的view,重新设置layout(l,t,r,b).

     

     另附上scroller类还有个computeScrollOffset()方法,是用于返回告诉用户,此scroller是否滑动完了。当没有滑动完时返回true,滑动完了返回false。那么这个功能有什么应用场景呢?

    比如,需要自定义的view有个动画的效果,一步步的滑动,那么就可以用此方法if判断下,若没有滑完,再用scroller.getCurrX获取此scroller滑动的绝对X轴位置,此时就可以让自定义的view也scrollerTo(scroller.getCurrx,0),再invalidate掉view重新进行if判断,不就可以实现动画的连接的滑动了。


关于layout与mesure,可以参考自定义的view。

http://blog.youkuaiyun.com/chenshufei2/article/details/8296902


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值