在几次尝试实现一个简单的滑动图片库失败后,我终于实现了一些符合我想要的方式的东西,遵循本教程:http://androidtrainningcenter.blogspot.dk/2012/10/viewpager-example-in-android.html
然而,ViewPager中的ImageViews中的图像被拉伸到屏幕的角落,我根本无法找到如何修复它。我已经调整了我可能找到的每一个march_parent和wrap_content,但是没有什么能产生任何影响。
我怀疑这种方法可能是编辑的权利:
public Object instantiateItem(View collection, int position) {
ImageView view = new ImageView(activity);
view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
view.setScaleType(ScaleType.CENTER_INSIDE);
view.setBackgroundResource(imageArray[position]);
((ViewPager) collection).addView(view, 0);
return view;
}
我使用.setScaleType方法,但无论我设置它,它都没有任何区别。除了特定的可绘制资源之外,我的其余代码都是直接从链接教程中复制的。
答案 0 :(得分:2)
是的,它是正确的编辑地点,你需要使用view.setImageResource()而不是setBackgroundResource()。
同样的事情发生在我身上,如果它是我怀疑的背景,那么你设置的属性并没有被应用。 Lemme知道这是否适合你。
@Override
public Object instantiateItem(View container, int position) {
ImageView view = new ImageView(activity);
view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
view.setAdjustViewBounds(true);
view.setScaleType(ScaleType.FIT_CENTER);
view.setImageResource(imageArray[position]);
((ViewPager) container).addView(view, 0);
return view;
}