Android 修改viewpage滑动速度的实现代码

1、自定义Scroller

public class ViewPageFixedSpeedScroller extends Scroller { 
  private int mDuration = 300; 
  public ViewPageFixedSpeedScroller(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 
  } 
  public ViewPageFixedSpeedScroller(Context context, Interpolator interpolator) { 
    super(context, interpolator); 
  } 
  @Override 
  public void startScroll(int startX, int startY, int dx, int dy, int duration) { 
    // Ignore received duration, use fixed one instead 
    super.startScroll(startX, startY, dx, dy, mDuration); 
  } 
  @Override 
  public void startScroll(int startX, int startY, int dx, int dy) { 
    // Ignore received duration, use fixed one instead 
    super.startScroll(startX, startY, dx, dy, mDuration); 
  } 
  public void setmDuration(int time) { 
    mDuration = time; 
  } 
  public int getmDuration() { 
    return mDuration; 
  } 
} 
2、通过反射修改viewpage 的scoller<pre name="code" class="java">try { 
//通过反射找到当前class 文件里的mScroller的mScrooller对象 
//getDeclaredField是可以获取一个类的所有字段.  
//getField只能获取类的public 字段.  
  Field mField = ViewPager.class.getDeclaredField("mScroller");  mField.setAccessible(true);//设置了private属性的对象也能获取的 
  Scroller mScroller = new ViewPageFixedSpeedScroller(page.getContext(), new LinearInterpolator()); 
  mField.set(page, mScroller); 
} catch (Exception e) { 
  e.printStackTrace(); 
} 
</pre><br> 
<pre></pre> 
<pre name="code" class="java"></pre><br> 

总结

以上所述是小编给大家介绍的Android 修改viewpage滑动速度的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。