Android——UI篇:ViewPager轮播图控制滑动速度
来源:互联网 发布:linux i have no name 编辑:程序博客网 时间:2024/05/18 02:55
Android中ViewPager的api中,并没有对外暴露方法来设置ViewPager的滑动速度,通过查看源码发现,我们可以利用反射和自定义类的方式来控制viewPager的滑动速度,代码如下:
/** * ViewPager 滚动速度设置 * * @author lyy * */ public class ViewPagerScroller extends Scroller { private int mScrollDuration = 2000; // 滑动速度 /** * 设置速度速度 * * @param duration */ public void setScrollDuration(int duration) { this.mScrollDuration = duration; } public ViewPagerScroller(Context context) { super(context); } public ViewPagerScroller(Context context, Interpolator interpolator) { super(context, interpolator); } public ViewPagerScroller(Context context, Interpolator interpolator, boolean flywheel) { super(context, interpolator, flywheel); } @Override public void startScroll(int startX, int startY, int dx, int dy, int duration) { super.startScroll(startX, startY, dx, dy, mScrollDuration); } @Override public void startScroll(int startX, int startY, int dx, int dy) { super.startScroll(startX, startY, dx, dy, mScrollDuration); } public void initViewPagerScroll(ViewPager viewPager) { try { Field mScroller = ViewPager.class.getDeclaredField("mScroller"); mScroller.setAccessible(true); mScroller.set(viewPager, this); } catch (Exception e) { e.printStackTrace(); } } }
我们可以通过以下方式来控制ViewPager的滑动速度,上述代码的使用方法如下:
ViewPagerScroller pagerScroller = new ViewPagerScroller(getActivity());pagerScroller.setScrollDuration(1000);//设置时间,时间越长,速度越慢pagerScroller.initViewPagerScroll(mViewPager);
加入上述代码后,我们就可以控制ViewPager轮播图的滑动速度了。
阅读全文
0 0
- Android——UI篇:ViewPager轮播图控制滑动速度
- viewpager广告位滑动速度控制
- Android 自定义Viewpager滑动速度
- android viewPager滑动速度设置
- Android ViewPager 修改滑动速度
- android 设置viewpager滑动速度
- viewPager控制滑动速度和时间
- 怎样控制viewpager的滑动速度
- Android控制ScrollView滑动速度
- android gallery 滑动速度控制
- Android控制ScrollView滑动速度
- Android控制ScrollView滑动速度
- Android控制ScrollView滑动速度
- Android控制ScrollView滑动速度
- Android 控制listview 滑动速度
- Android控制ScrollView滑动速度
- Android控制ScrollView滑动速度
- Android开发模板------ViewPager(三):实现无限循环、可嵌套RecyclerView、可控制滑动速度
- 触发器的介绍及MySQL触发器的简单例子
- css字体大小兼容性问题
- Badboy自动化测试工具9 查看回放结果
- Spring 导入配置文件的两种方式
- Linux 文件系统类型
- Android——UI篇:ViewPager轮播图控制滑动速度
- error: Your local changes to the following files would be overwritten by merge:
- Oracle创建,添加,修改,删除
- 复杂链表的复制及测试
- Golang基础语法(一)
- 聚类
- 前端基础常见问题
- if or else
- 美团提前批测试开发(电话面试)