0

这意味着我希望自定义视图组中的视图可以像 viewpager 一样工作,但不同的是它可以从最后一个滑动到第一个(向右滑动)或从第一个到最后一个(向左滑动)。 我尝试过以下方式。

  1. 设置类实现 PageAdapter 的 getCount() 方法如下:

    返回整数.MAX_VALUE;像https://stackoverflow.com/a/17424525/1872596之类的东西, 但后来我遇到了一些错误,设备锁定并在几分钟后解锁,发生 ANR。

  2. 自定义viewpager源码,但是失败了,新手看4000行源码太难了。

我希望任何人都可以帮助我,非常感谢。

4

1 回答 1

0

扩展 fromViewGroup和 override dispatchDraw(),如果过度滚动,则绘制第一页/最后一页它类似于:

protected void computeCirculate(Canvas canvas) {
    if (isAllowCirculate()) {
        canvas.save();
        canvas.translate(-getWidth() * getPageCount(), 0);
        drawPage(canvas, getPageCount() - 1);
        canvas.restore();

        canvas.save();
        canvas.translate(getWidth() * getPageCount(), 0);
        drawPage(canvas, 0);
        canvas.restore();
    }
}

更新:

请看我的github项目:Android_PagedView

于 2013-08-30T12:17:38.213 回答