改变ViewPager滑动速度

代码如下:

try {

Interpolator sInterpolator = new AccelerateInterpolator();

Field mScroller = ViewPager.class.getDeclaredField("mScroller");

mScroller.setAccessible(true);

FixedSpeedScroller scroller = new FixedSpeedScroller(

mViewPager.getContext(), sInterpolator);

mScroller.set(mViewPager, scroller);

} catch (NoSuchFieldException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

FixedSpeedScroller类的代码:

@SuppressLint("NewApi")

public class FixedSpeedScroller extends Scroller {

private int mDuration = 400;//滑动所用时间

public FixedSpeedScroller(Context context) {

super(context);

}

public FixedSpeedScroller(Context context, Interpolator interpolator) {

super(context, interpolator);

}

public FixedSpeedScroller(Context context, Interpolator interpolator,

boolean flywheel) {

super(context, interpolator, flywheel);

}

@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);

}

}

时间: 2024-10-09 06:19:08

改变ViewPager滑动速度的相关文章

android viewPager滑动速度设置

ViewPager 滑动速度设置,并实现点击按钮滑动 使用过ViewPager的童鞋,都会感觉到设置界面滑动挺简单的.但是有时候却满足不了UI设计的要求. 在用这个ViewPager的时候我遇到两个问题,不知道你们遇到没有.这里做个笔记,总结一下: 第一个问题是,ViewPager在我们滑动放手后,速度和动画的变化率是固定的. 第二个问题的,我们再添加左右按钮后,如点击滑动到前一页面(通过mViewPager.setCurrentItem(viewID, true);),一闪就了,用户感觉不到动

改动ScrollView的滑动速度和解决ScrollView与ViewPager的冲突

话不多说,非常easy,能够从凝视中知道做法,直接上代码: 1.改动ScrollView的滑动速度: public class MyHorizontalScrollView extends HorizontalScrollView { public MyHorizontalScrollView(Context context) { super(context); } public MyHorizontalScrollView(Context context, AttributeSet attrs

修改ScrollView的滑动速度和解决ScrollView与ViewPager的冲突

话不多说,很简单,可以从注释中知道做法,直接上代码: 1.修改ScrollView的滑动速度: public class MyHorizontalScrollView extends HorizontalScrollView { public MyHorizontalScrollView(Context context) { super(context); } public MyHorizontalScrollView(Context context, AttributeSet attrs, i

ViewPager切换滑动速度修改

ViewPager的setCurrentItem 滑动速度是写死地 下面的方法可以修改,在此以做记录 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public class FixedSpeedScroller extends Scroller {     private int mDuration = 1500;     public FixedSpeedScrolle

viewpager滑动button按钮选项卡跟着变动颜色

package com.example.day8viewpager; import java.util.ArrayList;import java.util.List; import android.os.Bundle; import android.app.Activity;import android.graphics.Color;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager

ViewPager滑动监听的参数解释

viewpager.setOnPageChangeListener (new OnPageChangeListener() { @Override public void onPageSelected(int select) { // TODO Auto-generated method stub Log. d( "dml", "onPageSelected:::::select ============ " + select) ; } @Override publ

(转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager 导致的滑动冲突 轮播图的几种实现方式 先看一下效果图 ScrollView里面嵌套ViewPager ViewPager里面嵌套ViewPager View的 事件分发机制 这篇博客大打算详细讲解View的事件分发机制

ViewPager滑动不畅及灵敏度的问题

在项目中用到了Android的ViewPager组件,但是发现在滑动的时候不是特别流畅,有些小的滑动无法响应,于是考虑进行优化. 一开始考虑修改ViewPager中的一些参数,比如mTouchSlop等参数,继承ViewPager并且重写一些方法: 但是后来发现这种方法比较复杂,并且滑动不流畅的问题好像不在这里. 最后问题定位到ViewPager的嵌套上,因为在ViewPager所包含的view中包含了GridView组件,因此在滑动的时候有一定几率touch事件会被GridView处理掉,从而

完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题

/******************************************************************************* * Copyright 2011, 2012 Chris Banes. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the Li