我正在制作一个 ViewPager 来显示一系列图像,这些图像由它们在资源值数组中的位置标识。这是我instantiateItem
的适配器代码:
//indexes the images
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0.getTag().equals(arg1);
}
//serves the views
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView view = new ImageView(container.getContext());
view.setScaleType(ScaleType.FIT_CENTER);
view.setTag(position);
view.setImageResource(mImages.get(position));
container.addView(view, position);
return view;
}
它不显示。查看container.getChildAt(0)
确认布局参数设置为MATCH_PARENT
但宽度和高度为0。容器自身的宽度和高度是屏幕尺寸(如预期)。
将代码更改为
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView view = (ImageView) View.inflate(container.getContext(), R.layout.imageview, null);
view.setScaleType(ScaleType.FIT_CENTER);
view.setTag(position);
view.setImageResource(mImages.get(position));
container.addView(view, position);
return view;
}
(其中R.layout.imageview
只是一个带有ImageView
in 的布局)不起作用。将背景颜色设置为任意可见值表明视图本质上是不可见的。这是怎么回事?