重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例为大家分享了Android弹性滑动类Scroller的具体代码,供大家参考,具体内容如下
目前创新互联公司已为1000多家的企业提供了网站建设、域名、网页空间、绵阳服务器托管、企业网站设计、嘉定网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。Scroller是什么
Scroller就是一个滑动帮助类。它并不可以使View真正的滑动,而是配合scrollTo/ScrollBy让view产生缓慢的滑动,产生动画的效果,其实和属性动画是同一个原理。在我看来,Scroller跟属性动画的平移的效果是一样的。
如何使用
//①实例一个Scroller,它有三个构造方法如下 //public Scroller (Context context) //public Scroller (Context context, Interpolator interpolator)//传入一个时间插值器 //public Scroller (Context context, Interpolator interpolator, boolean flywheel) Scroller mScroller=new Scroller(context); //②使用Scroller //startScroll()传入一些参数:开始位置,结束位置,开始时间滑动到结束位置的完成时间。 mScrooler.startScroll(int startX,int startY,int endx,int endY,int duration); invalidate();//在ViewGroup中,invalidate()方法会导致computeScroll()方法的执行 //③在computeScroll()的方法中判断:mScroller是否结束,如果没有结束就调用scrollTo()让view处于正确的位置 @Override public void computeScroll() { //computeScrollOffset()判断是否还在滚动,如果还在滚动,会获取到某一时刻view应该所在的位置,刷新Scroller中mCurrX,mCurrY的值,并且return true; if (mScroller.computeScrollOffset()) { scrollTo(mScroller.getCurrX(), mScroller.getCurrY()); //更新界面 postInvalidate(); } super.computeScroll(); }