解决ViewPager setCurrentItem 时闪太快

来源:互联网 发布:netpas云墙 mac下载 编辑:程序博客网 时间:2024/06/06 07:17
try {    Field field = ViewPager.class.getDeclaredField("mScroller");    field.setAccessible(true);    FixedSpeedScroller scroller = new FixedSpeedScroller(mViewPager.getContext(),            new AccelerateInterpolator());    field.set(mViewPager, scroller);    scroller.setmDuration(0);} catch (Exception e) {

}

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

阅读全文
0 0
原创粉丝点击