如何在imageview中避免图像拉伸

时间:2011-07-19 13:59:15

标签: android

我有320x480的图像,我在设备中使用320x480运行应用程序。我将图像设置为android:background,然后我的图像被拉伸。但是,如果我使用android:src,那么我会在图像后面获得白色空间,就像图像没有覆盖屏幕一样。如何在图像视图中设置图像,这样我的图像既不会被拉伸,也会覆盖整个屏幕。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    >
    <ImageView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/about1"/>
</LinearLayout>

4 个答案:

答案 0 :(得分:1)

查看ImageView属性adjustViewBounds

将其设置为true在类似的情况下帮助了我

答案 1 :(得分:0)

为什么不将图像设置为LinearLayout的背景? 如果你想使用ImageView,你应该为layout_height和layout_width指定'fill_parent'。

答案 2 :(得分:0)

你必须给出图像的高度和宽度,就像你有320 * 480的图像一样,你在xml中提到这个尺寸,同时声明图像并将图像存储在(drawable-mdpi)文件夹然后运行它。

答案 3 :(得分:0)

@Deepakkk

我认为您已将图像存储在可绘制的hdpi或ldpi中,这些图像适用于高密度或低密度

对于大小为320 * 480的模拟器,您应该将源图像存储在mdpi中 enter image description here

更改图像的高度以填充父级

试试这个

 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <supports-screens
            android:smallScreens="true"
            android:normalScreens="true"
            android:largeScreens="true"
            android:xlargeScreens="true"
            android:anyDensity="true" />
        ...
    </manifest>