在ViewPager中滑动半页(来自兼容包)

时间:2012-05-13 03:52:33

标签: android swipe android-viewpager

我正在使用ViewPagerPageAdapter(来自兼容包v4)在水平列表框中滑动。 问题是我的第一个页面中的第二个框是第二页中的第一个框(在视觉上和概念上)。像这样:

enter image description here

我正在做的方式现在有效。然而,这变得有点奇怪,因为在滑动的中间有一个相同的框出现两次的情况(如图中所示)。

有一种方法可以仅刷“半”页面吗?

修改

这些框是抽象的。实际上每个框都是ListView,我创建了不同的页面,只是更改了每个ListView的适配器。

2 个答案:

答案 0 :(得分:31)

  1. 每页创建一个片段
  2. 覆盖PageAdapter中的getPageWidth()以显示多个页面
  3. 代码:

    @Override
    public float getPageWidth(int position) {
        float nbPages = 2; // You could display partial pages using a float value
        return (1 / nbPages);
    }
    

答案 1 :(得分:2)

是的,将子宽度用作页面的一半。因此,调用下一个孩子的滑动将刷一半页面。祝你好运!

编辑:再次检查你的草图,尝试实现第1,第2,第3 ......作为不同的孩子。 (我预测大部分解决方案,同时假设它将作为GalleryView作出反应)