Android ImageView修复图像大小

时间:2012-08-21 06:47:10

标签: android imageview android-imageview

我有一个Android应用程序,我有ImageView,我需要保持大小不变​​,我需要在ImageView中添加不同大小的各种图像。< / p>

我只需要确保所有图片都必须符合ImageView, 如果图像较小则图像应该增大,并且如果图像较大则应该减小。

非常感谢你的时间。

7 个答案:

答案 0 :(得分:69)

使用dpfill_parent修复ImageView的尺寸,并将android:scaleType设为fitXY

答案 1 :(得分:41)

在你的情况下你需要

  1. 修复ImageView的大小。 您需要使用 dp 设备,以使其在所有设备中看起来都相同。
  2. android:scaleType设为fitXY
  3. 以下是一个例子:

    <ImageView
        android:id="@+id/photo"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:src="@drawable/iclauncher" 
        android:scaleType="fitXY"/>
    

    有关ImageView scaleType的更多信息,请参阅the developer website

答案 2 :(得分:16)

试试这个

ImageView img
    Bitmap bmp;
    int width=100;
    int height=100;
    img=(ImageView)findViewById(R.id.imgView);
    bmp=BitmapFactory.decodeResource(getResources(),R.drawable.image);//image is your image                                                            
    bmp=Bitmap.createScaledBitmap(bmp, width,height, true);
    img.setImageBitmap(bmp);

如果要在内存中加载完整的图像大小,则可以使用

<ImageView
    android:id="@+id/img"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@drawable/image" 
    android:scaleType="fitXY"/>

答案 3 :(得分:7)

您也可以尝试这一点,假设您想要制作一个背面图像按钮并且您有“500x500 png”并希望它适合小按钮尺寸。

使用dp修复ImageView的大小。

将此行代码添加到您的Imageview。

机器人:scaleType = “fitXY”

实施例

<ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/imageView2"
        android:src="@drawable/Backicon"
        android:scaleType="fitXY"
        />

答案 4 :(得分:2)

与@Youngsik一起哦表示回答,下面的链接对你想要实现的目标很有用。

有时候大图像会导致OutOfMemory错误。在提供的链接中,它从Asset文件夹中获取图像。您可以根据需要进行修改。希望它有所帮助。

Android:Issue Image resolution

答案 5 :(得分:0)

我遇到了同样的问题,这对我有帮助。

<ImageView
    android:id="@+id/image"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:scaleType="fitXY"
    />

答案 6 :(得分:0)

除非您添加 select-labelandroid:scaleType 属性,否则您需要在 XML 中添加 fitXY 并设置 layout_width
示例
layout_height

如果要以编程方式添加,
示例
android:scaleType="fitXY"