水平和垂直ViewPager在一起

dro*_*idx 5 android android-fragments android-viewpager

我有一个项目列表(自定义对象).这是主要清单.列表中的每个项目都有另一个数据列表(URLS).这是子列表.

我想显示主列表中的数据实现为vertical viewpager.因此,在垂直方向上翻转会更改主列表中的项目.并且对于主列表中每个项目中的数据,应将子列表实现为horizontal viewpager.因此,如果投掷是水平方向,它会显示子列表中与主列表中的项目对应的项目.

此外,对子列表中任何项目的垂直投掷应该能够进入主列表的下一个项目.

基本上,我正在寻找实现两个方向视图寻呼机.在一个方向上实现view-pager似乎非常简单.即FragmentActivity托管Fragment和实现一个的适配器类FragmentPagerAdapter.但是,我应该如何实现上述功能呢?

我试着玩一些第三方库,包括DirectionalViewPager(虽然它已被弃用).我打算一起使用GestureListeners和动画来构建这种效果.

关于什么是解决这个问题的最佳方法的任何指针都会非常有帮助.

谢谢,

Jul*_*mez 3

我构建了一个解决方案,将水平 viewpager(父级)与垂直 viewpager(每个子级)组合在一个名为DoubleViewPager的视图上。我在垂直 viewpager 上重写了以下方法:

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

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

看一下我的DoubleViewPager库,我在其中实现了此策略。