android 只修改ViewPager调用setCurrentItem时,滑屏的速度,其他正常

来源:互联网 发布:网络dd是什么意思 编辑:程序博客网 时间:2024/06/14 07:03


 public class FixedSpeedScroller extends Scroller{private int mDuration = 0;        public FixedSpeedScroller(Context context) {          super(context);      }        public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {          super(context,interpolator);      }        public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {      super(context, interpolator, flywheel);        }         @Override      public void startScroll(int startX, int startY, int dx, int dy, int duration) {          if(duration == 200)//调用setCurrentItem滑动的固定速度          super.startScroll(startX, startY, dx, dy, mDuration);      else //其他按照正常速度来         super.startScroll(startX, startY, dx, dy, duration);    }    @Override      public void startScroll(int startX, int startY, int dx, int dy) {          super.startScroll(startX, startY, dx, dy, mDuration);      }  }

应用

private void setViewPagerScrollSpeed(){          try {              Field mScroller = null;              mScroller = ViewPager.class.getDeclaredField("mScroller");              mScroller.setAccessible(true);               FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );              mScroller.set( myviewpage, scroller);                      }catch(NoSuchFieldException e){                        }catch (IllegalArgumentException e){                        }catch (IllegalAccessException e){                        }      }





0 0
原创粉丝点击