通向高级软件工程师之路—View自定义

本文介绍了如何使用Scroller实现View的平滑滑动效果。Scroller通过不断让View重绘并结合computeScroll方法来完成弹性滑动,同时探讨了其设计模式的精妙之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.View的滑动之Scroller

  要实现View的平滑滑动,有一种方法是要借助Scroller来实现。

  Scroller本身并不能实现View的平滑滑动,需要借助View的computeScroll方法才能完成弹性滑动的效果,它不断的让View重绘,每次重绘距离开始滑动都有一段时间间隔,通过这个时间间隔,Scroller会得出View当前的滑动位置(调用mScroller.computeScrollOffset()可以判断是否滑动结束,返回false时滑动结束,该方法的源码中是根据流逝的时间片和完成动画的百分比的乘积来计算一次滑动),知道了滑动位置就可以通过scrollTo方法来完成View的滑动。如此,View的每次重绘都会导致View进行小幅度的滑动,而多次的小幅度滑动就组成了弹性滑动,这就是Scroller的工作机制。

2.设计模式思考

  Scroller的设计很是精妙,这个过程没用对View进行引用,内部也没有计时器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值