ViewPager里面的ViewPager。如何水平滚动父寻呼机而不是滚动子寻呼机,但保持子寻呼机垂直滚动?

Posted

技术标签:

【中文标题】ViewPager里面的ViewPager。如何水平滚动父寻呼机而不是滚动子寻呼机,但保持子寻呼机垂直滚动?【英文标题】:ViewPager inside ViewPager.How to scroll parent pager horizontally instead of scrolling child, but keep child pager vertical scroll? 【发布时间】:2016-02-01 12:30:08 【问题描述】:

我有一个父 ViewPager,每个页面都包含一个子 ViewPager。 子ViewPager 可能包含ListView 或垂直ScrollView。 我想将水平滚动从子 ViewPager 传递给父 ViewPager,但想让子 ViewPager 垂直滚动。

在子 ViewPager 中覆盖 dispatchTouchEvent(MotionEvent event) 并返回 false 有助于将运动事件传递给父 ViewPager,但是如何在子 ViewPager 中保持 ListViewScrollView 可滚动?

【问题讨论】:

【参考方案1】:

解决方案比我预期的要容易。

只需在子 ViewPager 中覆盖 canScrollHorizontally 并返回 false。

【讨论】:

如果您在其中一个父浏览器片段中有一个父水平浏览器和一个垂直浏览器,这将非常有用!在子垂直查看器中覆盖它,你很高兴!这太有用了! 非常感谢,在解决这个问题几个小时后,你救了我的命。 非常感谢 muuuuuuuuuch! 太棒了 我知道我们不应该在 cmets 中写感谢,但这太棒了!!与其他解决方案相比,为我节省了大量工作!!再次感谢!!!!!!!

以上是关于ViewPager里面的ViewPager。如何水平滚动父寻呼机而不是滚动子寻呼机,但保持子寻呼机垂直滚动?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ViewPager 的高度包装到其当前 Fragment 的高度?

android如何对viewpager里面的图片进行缩放

(转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

viewpager怎么数据刷新

viewpager如何判断已经滑动到第一张或者最后一张

viewpager数据怎么刷新