3

我需要在两个浏览器中同步滚动。

这里有一些相关的代码:

super.onTouchEvent(ev);
    switch (ev.getAction()) {
    case MotionEvent.ACTION_DOWN:
        mViewPager.beginFakeDrag();
        return true;
    case MotionEvent.ACTION_MOVE:
        mViewPager.fakeDragBy(mViewPager.getScrollX()-getScrollX());
        return true;

    case MotionEvent.ACTION_UP:
    case MotionEvent.ACTION_CANCEL:
        mViewPager.endFakeDrag();
        return true;
    default:
        break;
    }
    return mViewPager.onTouchEvent(ev);

我得到触摸事件,并以相同的量滚动第二个视图。但是我无法管理的一件事是类似地禁用或处理投掷,我的意思是短的快速手势,它会自动使滚动跳转到下一页。

结构是-ViewPagerNavigator--ViewPagerMenu-

我如何让它在菜单寻呼机上工作,或者只是禁用它?

4

2 回答 2

1

根据之前的评论:

我不确定它是否会有所作为,但你玩过ViewPager.OnPageChangeListener界面吗?onPageScrolled(...)我想您可以使用该方法和传入的偏移量,而不是直接捕获触摸事件。对于甩尾,你也许可以逃脱惩罚onPageSelected(...)

于 2012-04-27T10:30:35.967 回答
0

你可以在这里查看我的答案

使用 OnPageChangeListener 同步两个 ViewPager

您也可以在这些上设置不同的 PageTransformer。

于 2014-06-08T09:29:03.840 回答