Android 同时控制两个ViewPager
我需要同步两个ViewPager。该要求类似于滚动ViewPager-1和ViewPager-2时的滚动量。下面的图片会让你更清楚我的问题Android 同时控制两个ViewPager,android,android-layout,android-viewpager,android-scrollview,android-scroll,Android,Android Layout,Android Viewpager,Android Scrollview,Android Scroll,我需要同步两个ViewPager。该要求类似于滚动ViewPager-1和ViewPager-2时的滚动量。下面的图片会让你更清楚我的问题 你也可以帮我做一些教程链接。谢谢。您可以通过以下方式扩展ViewPager以创建自定义视图并覆盖onTouchEvent(): @Override public boolean onTouchEvent(MotionEvent event) { if(mDependentView != null){
你也可以帮我做一些教程链接。谢谢。您可以通过以下方式扩展ViewPager以创建自定义视图并覆盖onTouchEvent():
@Override
public boolean onTouchEvent(MotionEvent event) {
if(mDependentView != null){
mDependentView.onTouchEvent(event);
}
return super.onTouchEvent(event);
}
还要在自定义类中创建一个setter,以设置dependentView
public void setDependentView(View view){
mDependentView = view;
}
然后,您应该将第二个viewpager设置为活动中第一个viewpager的从属视图。我认为这就是您需要的:
viewpager1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
viewpager2.onTouchEvent(event);
return false;
}
});
viewpager2.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
viewpager1.onTouchEvent(event);
return false;
}
});
我也有同样的问题,但首先我尝试使用fakeDragBy方法,这是一个死胡同。(如果您有两页以上)非常好且有效的解决方案。非常感谢。使用这种技术,如果同时触摸两个查看寻呼机,我会崩溃。我最终使用了这里的方法:我喜欢这个解决方案,因为它使两个视图页面的
ViewPagerIndicator
更加平滑,但是当您使用前面评论中描述的multi-touch时,它有一个bug,我无法阻止它,因此,我在XML布局中使用了android:splitMotionEvents=“false”
,禁用了multi-touch,现在效果很好!