Android:ViewPager中不需要的图像拉伸

时间:2013-05-24 12:12:33

标签: android-viewpager image-scaling

在几次尝试实现一个简单的滑动图片库失败后,我终于实现了一些符合我想要的方式的东西,遵循本教程: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方法,但无论我设置它,它都没有任何区别。除了特定的可绘制资源之外,我的其余代码都是直接从链接教程中复制的。

1 个答案:

答案 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;
}