我在 ListView 的每一行都有一个 ViewPager 小部件。这提供了一个类似于架子的 UI,因此用户可以在垂直方向上滚动搜索架子,然后在架子的内容之间水平滚动。这行得通。
但是滚动体验很糟糕:如果我开始拖动架子的 ViewPager,水平滚动它,然后不小心向上/向下拖动了一点,那么 ListView 会“捕获”这个拖动动作,并开始垂直滚动,结束我的水平拖动。在这种状态下,拖动操作不会“返回”到 ViewPager,ListView 有它,仅此而已。我必须开始另一个拖动操作才能再次影响 ViewPager。所以我猜在这些情况下 ListView 具有优先权。
如何解决这个问题?我想实现完全相反:如果列表行内的 ViewPager 开始对水平拖动做出反应,那么它应该捕获该动作,并且无论用户如何移动他/她的手指,这种拖动都应该停止影响 ListView垂直。这可以做到吗?