我想要的是:
当页面宽度为一半时,底部圆圈指示符的数量必须是页数的一半。
当页面宽度已满时,底部圆圈指示符的数量必须与页数一样多。
另外,还有另一个请求:
页面宽度由PagerAdapter#getPageWidth()
获取任何人都可以为此提供完美的解决方案吗?没有制作两个布局文件或两个适配器?
这是我为实现基于GIF的活动而开发的完整源代码。
将接受问题改进。
答案 0 :(得分:1)
在我看来,这种情况下的最佳做法是将视图[s]绑定到适配器中的视图组。在您的适配器中,您应该创建一个线性布局并添加任意数量的子项
public Object instantiateItem(ViewGroup container, int position) {
LinearLayout ll = new LinearLayout(context);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(0,MATCH_PART);
param.weight = 1.0f;
for (int i; i < getChildrenInPage() ; i++) {
MyView myView = View.inflate(context, R.layout.my_layout, null)
myView.bind(getDataForPosition(getChildrenInPage()*position + i))
ll.add(myView, params));
}
}