ViewPager 可以在每页中有多个视图吗? [英] Can ViewPager have multiple views in per page?

查看:41
本文介绍了ViewPager 可以在每页中有多个视图吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试图库和水平滚动视图后,我发现视图分页器可以满足我的需求,但缺少一件小事.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆