我有一个相同的问题,唯一的区别是我需要一次显示3页(上一页,当前页和下一页)。 经过对最佳解决方案的长期研究,我认为我找到了它。解决方案是这里的一些答案的混合:
正如@Paul Lammertsma的回答所指出的那样-Mark Murphy博客中Dave Smith的代码是解决方案的基础。 对我来说,唯一的问题是onCreate仅位于屏幕的顶部,这是由于它们在xml文件中提供的大小:
android:layout_width="150dp"
android:layout_height="100dp"
这对我的目的不利,因为我一直在寻找会散布在整个屏幕上的东西。 所以我将其更改为包装内容,如您在此处看到的:
android:id="@+id/pager_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CCC">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
现在,我失去了本教程尝试执行的所有操作。 使用@andro的答案,我一次可以显示多于1页:正好2张! 当前和下一个。通过重写如下:
@Override
public float getPageWidth(int position) {
return(0.9f);
}
那几乎是我所需要的...(即使我认为足以满足您的要求),但是对于其他可能需要我所需要的东西的人:对于解决方案的最后一部分,我还是在@Paul Lammertsma的回答中使用了这个想法。在Dave Smith的代码中,您会在onCreate方法中找到以下行:
//A little space between pages
pager.setPageMargin(15);
我替换为:
//A little space between pages
pager.setPageMargin(-64);
现在在第一页上看起来:
|view 1|view 2|view 3|
|screen |
而在第二个看起来像:
|view 1|view 2|view 3|
|screen |
希望能对某人有所帮助! 我浪费了大约2天的时间...祝好运。