我需要在两个查看页中同步滚动。
这里有一些相关的代码:
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);
我正在收到触摸事件,并以相同的数量滚动第二个视图。但是我无法管理的一件事是禁用或类似地处理 fling,我的意思是短快速 gestrue 它会自动使滚动跳转到下一页。
结构是-查看寻呼导航器--查看页面菜单-
如何在其中进行投掷以在菜单寻呼机上工作,或者只是禁用它?
根据之前的赞扬:
我不确定它会有所作为,但是您是否尝试过ViewPager.OnPageChangeListener
界面?除了直接捕获触摸事件之外,我想您可以使用 onPageScrolled(...)
方法和传入偏移量。对于投掷,你也许可以侥幸逃脱onPageSelected(...)
.
你可以在这里查看我的答案
使用 OnPageChangeListener 同步两个 ViewPager
您也可以在这些设备上设置不同的PageTransformers。