解决ViewPager.serCurrentItem滑动页面不顺滑问题
2016-06-17 14:29
239 查看
在调用viewpager.setCurrentItem(item, smoothscroll)方法的时候,把smoothscroll设为true,但还是感觉不顺滑,有种跳的感觉。解决这个问题需要自定义ViewPager.
public class MyViewPager extends ViewPager {
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
setMyScroller();
}
private void setMyScroller() {
try {
Class<?> clz = ViewPager.class;
Field scroller = clz.getDeclaredField("mScroller");
scroller.setAccessible(true);
scroller.set(this, new MyScroller(getContext())); // 设置自定义滚动器
} catch (Exception e) {
e.printStackTrace();
}
}
public class MyScroller extends Scroller {
public MyScroller(Context context) {
super(context, new DecelerateInterpolator());
}
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
super.startScroll(startX, startY, dx, dy, 1000/*滑动动画一秒*/);
}
}
}
public class MyViewPager extends ViewPager {
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
setMyScroller();
}
private void setMyScroller() {
try {
Class<?> clz = ViewPager.class;
Field scroller = clz.getDeclaredField("mScroller");
scroller.setAccessible(true);
scroller.set(this, new MyScroller(getContext())); // 设置自定义滚动器
} catch (Exception e) {
e.printStackTrace();
}
}
public class MyScroller extends Scroller {
public MyScroller(Context context) {
super(context, new DecelerateInterpolator());
}
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
super.startScroll(startX, startY, dx, dy, 1000/*滑动动画一秒*/);
}
}
}
相关文章推荐
- Storm集成Kafka编程模型
- LAMP环境搭建
- 关于串行 并行 同步 异步
- ERROR 0199: Security password retry count exceeded.
- 网站运营怎么寻找“种子用户”?
- CentOS安装Openfire
- jdk和jre是什么?都有什么用?
- CommandArgument传两个以上参数
- android点击事件的分发过程
- JavaScript获取时间小demo【计时器】
- Android事件处理
- Android 样式
- Python应用科学计算和图表绘制
- 数据库性能优化常用SQL脚本总结
- 【转】js在页面滚动到一定位置时触发事件?
- cocoapods 1.0.1版本安装出现的问题及解决办法
- oracle自定义函数语法及使用
- JavaScript 面向对象:多态
- 图解WordPress的安装与使用
- 在IntelliJ上操作GitHub