Android:ImageView放大源图像

Android:ImageView放大源图像,android,size,resolution,scale,imageview,Android,Size,Resolution,Scale,Imageview,我似乎无法使ImageView以其原始大小显示其源图像。ImageView如下所示: <ImageView android:id="@+id/Logo" android:src="@drawable/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView> 源图像有140像素宽,但在NexusOne的480像素宽的屏

我似乎无法使ImageView以其原始大小显示其源图像。ImageView如下所示:

   <ImageView 
 android:id="@+id/Logo" 
 android:src="@drawable/logo"
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 >
</ImageView>


源图像有140像素宽,但在NexusOne的480像素宽的屏幕上,它占用了一半的宽度。使用px或dp中的绝对值表示宽度和高度不会发生任何变化。通过放大,图像看起来也非常抗锯齿。为什么会发生这种情况?我如何防止这种情况发生?

最有可能的情况是,Android正在放大图像,因为您没有告诉它您支持大屏幕。在您的清单中添加一个,看看是否有帮助。

我刚刚尝试了您的建议,它肯定与此有关。非常感谢你!如果我使用图像的尺寸作为布局宽度和布局高度的绝对像素值,则图像现在具有“正确”大小。如果我使用wrap_内容,图像仍然和以前一样大,这看起来也和我使用“dp”作为维度的图像尺寸相同。我想这就是wrap_内容的工作原理。在这种情况下,在像Nexus这样的高密度屏幕设备上,图像显示得太大是有道理的。但奇怪的是,如果我对layout_width和layout_height使用wrap_内容,而对maxWidth和maxHeight使用绝对像素值,则没有效果。由于无论如何都不鼓励使用像素尺寸,我想知道是否有其他方法可以防止图像被放大?您可能想要两个版本的图像,一个用于中等密度屏幕,另一个用于高密度屏幕。尝试将您的图像放入
res/drawable hdpi/
中,看看这是否有帮助。请检查这个问题。这是相关的。