您的位置:首页 > 移动开发 > Android开发

改变ViewPager的翻页速率

2014-05-05 18:22 471 查看
当你在想要实现点击按钮,ViewPager自动翻页时是否觉得它切换得太快?下面的方法实现对ViewPager自动翻页时间的控制

FixedSpeedScroller.java  类

import android.content.Context;
import android.view.animation.Interpolator;
import android.widget.Scroller;

public class FixedSpeedScroller extends Scroller {
private int mDuration = 1500;
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(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;
}

}

主要代码:

ViewPager viewPager=(ViewPager)findViewById(R.id.viewpager);
try {
Field mField =ViewPager.class.getDeclaredField("mScroller");
mField.setAccessible(true);
FixedSpeedScroller mScroller = new FixedSpeedScroller(MealAcitivity.this, new AccelerateInterpolator());
mScroller.setmDuration(200); //在这里设置时间单位毫秒
mField.set(viewPager, mScroller); //viewPager和FixedSpeedScrolle
}catch(Exception e){

}
viewPager.setAdapter.....//后面的和平时的使用方法相同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Viewpager速度 android