我正在设计一个包含多个页面的视图。我希望上一页和下一页的边缘显示如下,并实现双指滑动以在页面之间切换。我尝试使用这里ViewPager建议的负页边距,但只显示屏幕上的一个边,而不是同时显示。或者,有什么方法可以将我的视图的一部分放在屏幕外,然后设置它的动画,给它一个ViewPager类型效果。我该怎么办呢?谢谢 !
3 回答
![?](http://img1.sycdn.imooc.com/5f33c0c90001f9ad05720572-100-100.jpg)
白衣非少年
TA贡献1155条经验 获得超0个赞
从关于这个主题的博客文章中引用自己的话:
第三种方法来自Dave Smith,他是备受好评的Android Recipes一书的合着者。他走向了一个非常不同的方向,使用一个自定义容器,禁止儿童剪辑,一次显示多个页面。
他发布的示例代码显示了整个行动。他的容器(com.example.pagercontainer.PagerContainer)包裹ViewPager并调用setClipChildren(false);自身,因此即使ViewPager聚焦在一个选定的页面上,其他具有超出ViewPager边界坐标的页面仍然可见,只要它们适合于PagerContainer。通过将尺寸调整ViewPager为小于PagerContainer,ViewPager可以将其页面尺寸调整到该尺寸,从而为其他页面留出空间。PagerContainer但是,需要帮助触摸事件,因为它ViewPager只会处理其自身可见边界上的滑动事件,忽略侧面可见的任何页面。
![?](http://img1.sycdn.imooc.com/545866c40001561502200220-100-100.jpg)
白板的微信
TA贡献1883条经验 获得超3个赞
我有一个类似的解决方案:
在viewpager上设置左右填充,例如20dp。还要在viewpager上设置页边距,例如寻呼机填充的一半。并且不要忘记禁用剪辑填充。
tilePager.setPadding(defaultGap, 0, defaultGap, 0);
tilePager.setClipToPadding(false);
tilePager.setPageMargin(halfGap);
- 3 回答
- 0 关注
- 762 浏览
添加回答
举报
0/150
提交
取消