Android ViewPager 修改滑动速度
2015-07-15 17:23
549 查看
因为viewPager滑动速度太快而烦恼吗?用这个方法让viewPager的滑动掌控在你的手下:
自定义Scroller控件
public class FixedSpeedScroller extends Scroller { private int mDuration = 1500; // 默认滑动速度 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; } }
在工具类中添加使用帮助的代码
public class CommonUtils { private static FixedSpeedScroller mScroller = null; /** * 设置ViewPager的滑动时间 * @param context * @param viewpager ViewPager控件 * @param DurationSwitch 滑动延时 */ public static void controlViewPagerSpeed(Context context,ViewPager viewpager,int DurationSwitch) { try { Field mField; mField = ViewPager.class.getDeclaredField("mScroller"); mField.setAccessible(true); mScroller = new FixedSpeedScroller(context, new AccelerateInterpolator()); mScroller.setmDuration(DurationSwitch); mField.set(viewpager, mScroller); } catch (Exception e) { e.printStackTrace(); } } }
使用方法
//获取到ViewPager控件 ViewPager viewPager = (ViewPager) findViewById(R.id.vp); CommonUtils.controlViewPagerSpeed(this, viewPager, 2000);//设置你想要的时间
相关文章推荐
- android进程生命周期
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- Android添加快捷方式(Short)到手机桌面
- android studio项目在模拟器运行显示中文乱码
- android PopupWindow实现从底部弹出或滑出选择菜单或窗口
- android之字体阴影效果
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android监听锁屏键、Home键
- Android手机 Fildder真机抓包
- Android模拟汽车仪表盘
- Android中Java和JavaScript交互解决方案,以及问题解决大全
- 经典的java/android下JNI编程教程
- Android图片上传
- Android Studio如何给log添加过滤项(Filters)
- Android仿虾米音乐播放器之开篇介绍
- Android 反编译与防止被反编译
- Android Studio如何设置自己主动提示代码
- Android获取meta-data
- 平安科技移动开发二队技术周报(第十一期)
- android 自定义文字跑马灯 支持拖拽,按住停止滚动,自定义速度