ViewPager 可以在每页中有多个视图吗? [英] Can ViewPager have multiple views in per page?
问题描述
在尝试图库和水平滚动视图后,我发现视图分页器可以满足我的需求,但缺少一件小事.View Pager 的每页可以有多个视图吗?
After trying out the Gallery and Horizontal Scroll View, I found that the View Pager does what I need but with one minor thing missing. Can the View Pager have multiple views per page?
我知道 View Pager 每次滑动仅显示 1 个视图/页面.我想知道我是否可以限制我的视图宽度,这样我的第二个视图就会显示出来?
I know that View Pager shows only 1 view/page per swipe. I was wondering if I can limit my views width so my 2nd view following it will show?
例如:我有 3 个视图,我希望屏幕显示视图 1 和视图 2 的一部分,以便用户知道有更多内容,以便他们可以滑动查看 2.
For example: I have 3 views and I want the screen to show view 1 and part of view 2 so the user knows there is more content so they can swipe to view 2.
|view 1|view 2|view 3|
|screen |
推荐答案
我发现通过为 ViewPager 指定负边距可能更简单的解决方案.我在 GitHub 上创建了 MultiViewPager 项目,你可能想看看:
I discovered that a perhaps even simpler solution through specifying a negative margin for the ViewPager. I've created the MultiViewPager project on GitHub, which you may want to take a look at:
https://github.com/Pixplicity/MultiViewPager
虽然 MultiViewPager 需要一个子视图来指定尺寸,但原理是围绕设置页边距:
Although MultiViewPager expects a child view for specifying the dimension, the principle revolves around setting the page margin:
ViewPager.setPageMargin(
getResources().getDimensionPixelOffset(R.dimen.viewpager_margin));
然后我在我的 dimens.xml
中指定了这个维度:
I then specified this dimension in my dimens.xml
:
<dimen name="viewpager_margin">-64dp</dimen>
为了补偿重叠的页面,每个页面的内容视图都有相反的边距:
To compensate for overlapping pages, each page's content view has the opposite margin:
android:layout_marginLeft="@dimen/viewpager_margin_fix"
android:layout_marginRight="@dimen/viewpager_margin_fix"
再次在 dimens.xml
中:
<dimen name="viewpager_margin_fix">32dp</dimen>
(请注意,viewpager_margin_fix
维度是绝对 viewpager_margin
维度的一半.)
(Note that the viewpager_margin_fix
dimension is half that of the absolute viewpager_margin
dimension.)
我们在荷兰报纸应用 De 中实施了此Telegraaf Krant:
We implemented this in the Dutch newspaper app De Telegraaf Krant:
这篇关于ViewPager 可以在每页中有多个视图吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!