具有上一页和下一页边界的ViewPager

我正在设计一个包含多个页面的视图。我希望上一页和下一页的边缘显示如下,并实现双指滑动以在页面之间切换。

我尝试使用这里ViewPager建议的负页边距,但只显示屏幕上的一个边,而不是同时显示。


或者,有什么方法可以将我的视图的一部分放在屏幕外,然后设置它的动画,给它一个ViewPager类型效果。


我该怎么办呢?谢谢 !


慕妹3242003
浏览 726回答 3
3回答

白衣非少年

从关于这个主题的博客文章中引用自己的话:第三种方法来自Dave Smith,他是备受好评的Android Recipes一书的合着者。他走向了一个非常不同的方向,使用一个自定义容器,禁止儿童剪辑,一次显示多个页面。他发布的示例代码显示了整个行动。他的容器(com.example.pagercontainer.PagerContainer)包裹ViewPager并调用setClipChildren(false);自身,因此即使ViewPager聚焦在一个选定的页面上,其他具有超出ViewPager边界坐标的页面仍然可见,只要它们适合于PagerContainer。通过将尺寸调整ViewPager为小于PagerContainer,ViewPager可以将其页面尺寸调整到该尺寸,从而为其他页面留出空间。PagerContainer但是,需要帮助触摸事件,因为它ViewPager只会处理其自身可见边界上的滑动事件,忽略侧面可见的任何页面。

白板的微信

我有一个类似的解决方案:在viewpager上设置左右填充,例如20dp。还要在viewpager上设置页边距,例如寻呼机填充的一半。并且不要忘记禁用剪辑填充。tilePager.setPadding(defaultGap, 0, defaultGap, 0);tilePager.setClipToPadding(false);tilePager.setPageMargin(halfGap);
打开App,查看更多内容
随时随地看视频慕课网APP