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



[java]  view plain  copy
  1.  public class FixedSpeedScroller extends Scroller{  
  2.     private int mDuration = 0;    
  3.         
  4.     public FixedSpeedScroller(Context context) {    
  5.         super(context);    
  6.     }    
  7.     
  8.     public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {    
  9.         super(context,interpolator);    
  10.     }    
  11.     
  12.     public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {    
  13.         super(context, interpolator, flywheel);      
  14.     }    
  15.      
  16.     @Override    
  17.     public void startScroll(int startX, int startY, int dx, int dy, int duration) {    
  18.           
  19.         if(duration == 200)//调用setCurrentItem滑动的固定速度  
  20.           super.startScroll(startX, startY, dx, dy, mDuration);    
  21.         else //其他按照正常速度来  
  22.          super.startScroll(startX, startY, dx, dy, duration);     
  23.     }    
  24.     
  25.   
  26.     @Override    
  27.     public void startScroll(int startX, int startY, int dx, int dy) {    
  28.         super.startScroll(startX, startY, dx, dy, mDuration);    
  29.     }    
  30. }  

应用

[java]  view plain  copy
  1. private void setViewPagerScrollSpeed(){    
  2.         try {    
  3.             Field mScroller = null;    
  4.             mScroller = ViewPager.class.getDeclaredField("mScroller");    
  5.             mScroller.setAccessible(true);     
  6.             FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );    
  7.             mScroller.set( myviewpage, scroller);                
  8.         }catch(NoSuchFieldException e){    
  9.                 
  10.         }catch (IllegalArgumentException e){    
  11.                 
  12.         }catch (IllegalAccessException e){    
  13.                 
  14.         }    
  15.     }
[java]  view plain  copy
  1.  public class FixedSpeedScroller extends Scroller{  
  2.     private int mDuration = 0;    
  3.         
  4.     public FixedSpeedScroller(Context context) {    
  5.         super(context);    
  6.     }    
  7.     
  8.     public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {    
  9.         super(context,interpolator);    
  10.     }    
  11.     
  12.     public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {    
  13.         super(context, interpolator, flywheel);      
  14.     }    
  15.      
  16.     @Override    
  17.     public void startScroll(int startX, int startY, int dx, int dy, int duration) {    
  18.           
  19.         if(duration == 200)//调用setCurrentItem滑动的固定速度  
  20.           super.startScroll(startX, startY, dx, dy, mDuration);    
  21.         else //其他按照正常速度来  
  22.          super.startScroll(startX, startY, dx, dy, duration);     
  23.     }    
  24.     
  25.   
  26.     @Override    
  27.     public void startScroll(int startX, int startY, int dx, int dy) {    
  28.         super.startScroll(startX, startY, dx, dy, mDuration);    
  29.     }    
  30. }  

应用

[java]  view plain  copy
  1. private void setViewPagerScrollSpeed(){    
  2.         try {    
  3.             Field mScroller = null;    
  4.             mScroller = ViewPager.class.getDeclaredField("mScroller");    
  5.             mScroller.setAccessible(true);     
  6.             FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );    
  7.             mScroller.set( myviewpage, scroller);                
  8.         }catch(NoSuchFieldException e){    
  9.                 
  10.         }catch (IllegalArgumentException e){    
  11.                 
  12.         }catch (IllegalAccessException e){    
  13.                 
  14.         }    
  15.     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值