Viewpager切换滑动速度的修改
2015-12-30 11:29
435 查看
默认情况下,viewpager的setcurrentItem()方法的切换时间是写死的
我们要想修改他的滑动时间,需要引入新的类继承Scroller
具体代码如下:
然后在我们初始化viewpager的地方进行设置滑动时间,调用下面的方法就可以
其中 setmDuration()中的时间就是我们需要设置的切换时间
我们要想修改他的滑动时间,需要引入新的类继承Scroller
具体代码如下:
import android.content.Context; import android.view.animation.Interpolator; import android.widget.Scroller;
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的地方进行设置滑动时间,调用下面的方法就可以
private void controlViewPagerSpeed(){ try { Field mField; FixedSpeedScroller mScroller = null; mField = ViewPager.class.getDeclaredField("mScroller"); mField.setAccessible(true); mScroller = new FixedSpeedScroller( viewPager.getContext(), new AccelerateInterpolator()); mScroller.setmDuration(200); // 2000ms mField.set(viewPager, mScroller); } catch (Exception e) { e.printStackTrace(); } }
其中 setmDuration()中的时间就是我们需要设置的切换时间
相关文章推荐
- maven的使用
- 【ITOO 1】SQLBulkCopy实现不同数据库服务器之间的批量导入
- Shell操作之细节整理(未完结)
- 一个Mina实例
- 一个色谱的实现
- Codeforces Round #333 (Div. 2) B. Approximating a Constant Range (线段树区间最值)
- 【ITOO 1】SQLBulkCopy实现不同数据库服务器之间的批量导入
- C++笔记——多态原理探究
- Hog特征
- web页面浮动回到顶部功能和浮动广告
- Hybrid App经验解读 一
- dw1000精度调节记录1
- Java类集学习(四)Map接口
- tcpdump 的TCP输出结果详解
- Cordova插件开发入门(1)
- 安装Linux误格式化硬盘修复过程概述
- Oracle:Authid Current_User的使用
- 基于JavaScript代码实现微信扫一扫下载APP
- JS 替换 window.onload 的 document.ready
- Android studio使用简单的GsonFormat插件