android - 将水平viewpager与垂直viewpager结合使用

Tho*_*mel 6 java android android-viewpager

我想将默认的水平ViewPager与某种垂直ViewPager组合在一起.我的方法是由水平ViewPager提供的片段是子类化垂直ViewPager.

public class SubWebViewFragment extends Fragment, VerticalViewPager {
}
Run Code Online (Sandbox Code Playgroud)

因此,水平ViewPager提供的每个片段应该同时充当VerticalViewPager,构建某种矩阵.另外,我必须有可能去这个矩阵中的某个页面.例如,我想选择水平ViewPager的第2页,在这个页面中,我想要转到垂直ViewPager的第3页.

// pseudo code
HorizontalViewPager.setCurrentItem(1, true);
activeHorizontalPage.getVerticalViewPager.setCurrentItem(2, true);
Run Code Online (Sandbox Code Playgroud)

我对如何解决这个问题感到有些迷茫.

Jul*_*mez 12

我构建了一个解决方案,将水平viewpager(父级)与垂直viewpage(每个子级)相结合.我在垂直viewpager上覆盖了以下方法:

  • public boolean onInterceptTouchEvent(MotionEvent ev)
  • public boolean onTouchEvent(MotionEvent ev)

当用户在每个孩子上触发这些事件时,他们会将其传递给父母.然后,如果事件是垂直的,则子进程处理它,否则,如果事件是水平的,则父进程处理它.

看看我的DoubleViewPager库,我实现了这个策略.


chr*_*rew -1

您是否想过使用列表视图而不是垂直视图分页器也尝试查看Twowayview 库