Android修改viewpager的滑动速度
2014-12-06 00:00
344 查看
由于Viewpager的滑动速度是固定的,所以很蛋疼。看了老外的文章可以利用反射机制,修改Viewpager的滑动速度。下面是代码实现:
需要新建个类FixedSpeedScoller继承自scroller类
然后需要在初始化Viewpager的地方,加入以下代码:
setmDuration 可以设定想要的时间。
需要新建个类FixedSpeedScoller继承自scroller类
import android.content.Context; import android.view.animation.Interpolator; import android.widget.Scroller; /** * FixedSpeedScroller for controlling sliding animation speed. It uses the java * reflection mechanism. * * @version 1.00 2014.1.6 * @author Huang.xin gkx100120 * */ public class FixedSpeedScroller extends Scroller { private int mDuration = 1500; // default time is 1500ms 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); } /** * set animation time * * @param time */ public void setmDuration(int time) { mDuration = time; } /** * get current animation time * * @return */ public int getmDuration() { return mDuration; } }
然后需要在初始化Viewpager的地方,加入以下代码:
FixedSpeedScroller mScroller = null; private void controlViewPagerSpeed() { try { Field mField; mField = ViewPager.class.getDeclaredField("mScroller"); mField.setAccessible(true); mScroller = new FixedSpeedScroller( mMainHolder.main_viewpager.getContext(), new AccelerateInterpolator()); mScroller.setmDuration(2000); // 2000ms mField.set(mMainHolder.main_viewpager, mScroller); } catch (Exception e) { e.printStackTrace(); } }
setmDuration 可以设定想要的时间。
相关文章推荐
- Android ViewPager 修改滑动速度
- android中修改Viewpager的滑动速度
- Android ViewPager动态向前向后加载数据,自定义viewPager滑动速度
- android viewPager滑动速度设置
- 使用反射机制修改viewPager切换滑动速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度 ,解决滑动之间切换动画难看
- Viewpager切换滑动速度的修改
- ViewPager切换滑动速度修改
- android 修改viewpager切换速度
- Viewpager自动轮播,可修改滑动速度
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- Android ViewPager的无限循环制作Banner 以及调节viewpager的滑动速度
- ViewPager切换滑动速度修改
- Android 顶部轮播 JazzyViewPager 改变滑动速度
- ViewPager切换滑动速度修改
- android 只修改ViewPager调用setCurrentItem时,滑屏的速度,其他正常
- Android之 修改ViewPager调用setCurrentItem时,滑屏的速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度 ,解决滑动之间切换动画难看