控制ViewPager的切换速度

来源:互联网 发布:文本聚类算法java实现 编辑:程序博客网 时间:2024/06/14 16:29

From:http://xiaomi4980.blog.163.com/blog/static/2159451962014102463228117/

第一步:首先创建一个类继承Scroller

package com.front.adshow;import android.content.Context;import android.view.animation.Interpolator;import android.widget.Scroller;public class FixedSpeedScroller extends Scroller {private int mDuration = 1000;public FixedSpeedScroller(Context context) {super(context);// TODO Auto-generated constructor stub}public FixedSpeedScroller(Context context, Interpolator interpolator) {super(context, interpolator);}@Overridepublic void startScroll(int startX, int startY, int dx, int dy, int duration) {// Ignore received duration, use fixed one insteadsuper.startScroll(startX, startY, dx, dy, mDuration);}@Overridepublic void startScroll(int startX, int startY, int dx, int dy) {// Ignore received duration, use fixed one insteadsuper.startScroll(startX, startY, dx, dy, mDuration);}public void setmDuration(int time) {mDuration = time;}public int getmDuration() {return mDuration;}}

 第二步:在使用ViewPager的Activity中

viewPager = (ViewPager) findViewById(R.id.vp);adapter = new MyPagerAdapter();viewPager.setAdapter(adapter);try {Field mField = ViewPager.class.getDeclaredField("mScroller");mField.setAccessible(true);mScroller = new FixedSpeedScroller(viewPager.getContext(),new AccelerateInterpolator());mField.set(viewPager, mScroller);} catch (Exception e) {e.printStackTrace();}

 第三步:在控制ViewPager切换图片时,加入以下代码即可

viewPager.setCurrentItem(currentItem);mScroller.setmDuration(2* 1000);

 注意:2*1000表示切换过程是2秒,可以随意设置

0 0
原创粉丝点击