如何控制viewpager的滑动

 我来答
yxmlb33
推荐于2016-04-24
知道答主
回答量:23
采纳率:0%
帮助的人:6.1万
展开全部
方法很简单,使用Java的反射机制,获取到ViewPager的Scoller对象,换成我们自定义的就可以了。public class FixedSpeedScroller extends Scroller {
private int mDuration;//滑动的速度,0为最快
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(Context context, Interpolator interpolator) {
super(context, interpolator);
}
@SuppressLint("NewApi")
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) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
public int getmDuration() {
return mDuration;
}
public void setmDuration(int mDuration) {
this.mDuration = mDuration;
}
try {
Field mScroller;
mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
FixedSpeedScroller scroller = new FixedSpeedScroller(
pager.getContext());
scroller.setmDuration(0);//设置滑动的速度
mScroller.set(pager, scroller);
} catch (NoSuchFieldException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极光个人博客
2015-06-08 · 超过27用户采纳过TA的回答
知道答主
回答量:92
采纳率:66%
帮助的人:32.1万
展开全部
viewpager有个监听器,应该可以做到你所需要的需求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式