Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > android viewpage滑动

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

作者:jwmxxx

由于Viewpager的滑动速度是固定的,所以很头疼,下面小编通过实例代码给大家分享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滑动速度的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:
阅读全文