Advertisement

Android面试整理之UI部分——三种方式(一)

阅读量:

一.使用Scroller

1.为何需要弹性滑动功能?

借助View提供的原生方法scrollTo/scrollBy,虽然这些方法专门用于实现滑动操作,使用便捷,能够较为轻松地达成滑动效果且不会影响内部元素的点击交互,但其存在“仅能滑动View的内容,而无法移动View本身”的局限性。此外,由于这一过程是瞬间完成的,缺乏过渡动画效果的滑动方式会导致用户体验欠佳。因此,为了提升交互体验,有必要引入弹性滑动机制以实现具备过渡动画的平滑移动效果,并在一定时间范围内逐步完成位移。

2.Scroller如何实现弹性滑动(Scroller弹性滑动的工作原理)?

Scroller本身并不能直接驱动View进行移动,它必须与View中的computeScroll() 方法协同工作才能共同完成弹性滑动的效果。因此,Scroller的工作流程可以概括为:在调用View的smoothScrollTo()方法时,会持续触发View的重绘操作,并且每次重绘都会间隔一定的时间段。通过这个时间间隔,Scroller可以计算出当前时刻View所处的位置信息,并利用该信息通过scrollTo 方法对View进行位置调整。如此一来,每一次重绘都会促使View产生微小幅度的位置变化,而多次微小位移叠加起来便构成了完整的弹性滑动过程。其中,在计算某一时刻的具体位置时会

全部评论 (0)

还没有任何评论哟~