如何让ImageView包装其内容?

时间:2012-08-21 13:48:55

标签: android scale android-imageview

我是Android初学者,我认为这是一个非常简单的问题,但我无法在任何地方找到它。我添加了一个像这样的ImageView:

//....
            iv = new ImageView(context);
            iv.setBackground(getResources().getDrawable(drawable));
            iv.setAdjustViewBounds(true);

            RelativeLayout.LayoutParams imajpara=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
            iv.setMaxWidth(100);        
            iv.setMaxHeight(100);
            iv.setLayoutParams(imajpara);           
            iv.setScaleType(ScaleType.CENTER_INSIDE);
//....

但即使图像(.png)为100x100像素,ImageView(本例中的球图)也适合整个屏幕。在代码中,您看到我尝试修复此问题但没有一个能够正常工作。 imageview位于RelativeLayout。

那么如何根据图像的尺寸使ImageView自行调整大小?

2 个答案:

答案 0 :(得分:2)

使用setImageDrawable()代替setBackground()

答案 1 :(得分:0)

您可以直接设置正确的尺寸,而不是在Layoutparams的构造函数中指示“WRAP_CONTENT”。