我正在寻找一种解决方案来为自定义视图实现 ViewPager。有很多关于 ViewPager 的教程可以扩展 xml 布局,但我找不到自定义视图的示例。我的自定义 View 类在画布上绘制多个对象(带有文本的圆圈)。 可以通过实现 OnTouchListener 来移动和缩放对象。对象是动态生成的(文本来自 ArrayList)
在活动中,我用不同的参数实例化了一个新视图:
this.mRenderCircleView = new RenderCircleView(this, resultList, showDemo);
resultList 包含ArrayList<ArrayList<String>>
要在 RenderCircleView 中绘制的圆圈。我想在这种情况下实现 ViewPager,如果 ArrayList ( > 5 ) 中有很多圆形项目,并且由于性能问题,以前创建和加载所有视图会很糟糕。所以我认为最好的选择是 FragmentStatePagerAdapter。这应该是交互式内容的更好解决方案。
但我无法弄清楚它是如何工作的。Fragments 的数量取决于给定 ArrayList 的大小除以应在 RenderCircleView 中绘制的元素的数量。例如 ArrayList 大小为 20,每页应绘制 5 个圆形对象,那么我需要 4 个页面(片段)。
在这种情况下使用 ViewPager 的最简单方法是什么?