Android自定义View弹性滑动Scroller详解-创新互联

本文实例为大家分享了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();
  }


网站名称:Android自定义View弹性滑动Scroller详解-创新互联
转载注明:http://myzitong.com/article/csseij.html