【发布时间】:2015-04-01 09:58:04
【问题描述】:
默认情况下,当您在 ViewPager 上滑动时,您可以滑动尽可能多的页面,直到您的手指到达屏幕末端。那么,是否可以强制 ViewPager 无论用户滑动多少都只允许更改一页?
这就是我在寻呼机上滑动直到您的手指到达屏幕末端的意思:
这就是我将 ViewPager 锁定为一次只允许单页滑动的意思:
谢谢。
【问题讨论】:
-
我认为我没有正确理解您的问题,因为单个滑动手势只会移动到下一个或上一个
fragment(或页面,如果您愿意)。你能重新表述一下吗? -
您可能必须编写一大段代码才能做到这一点,但我会更关心用户体验。如果用户滑动并且有时页面滚动,有时它不会滚动,这将是令人困惑的。您可能会考虑一个不同的视图,其中有一个左右按钮,用户通过使用按钮而不是滚动来移动页面。
-
但是,如果您绝对必须这样做,可能最简单的方法是修改 ViewPager 的适配器,使其仅提供三个页面:显示的页面、左侧的页面和右边的那个。然后当用户选择下一页时,通过使下一页成为当前页来更新适配器,并再次返回一个三页集,只移动了一页。
-
您在此处指定的问题不会发生在视图寻呼机上。它发生在画廊的情况下。
-
我添加了 gif 图片来详细解释我在说什么。