Android ImageView.setImageURI缩放图片

时间:2010-02-17 01:03:09

标签: android

我有一个视图,我正在绘制一个位图,保存到磁盘,然后通过setImageURI放入ImageView。但是,当图像显示在ImageView中时,它没有以正确的大小显示。它比它应该小约1/3。我猜这是一个密度问题,但我无法弄清楚出了什么问题(我的模拟器是WVGA)。任何想法?

3 个答案:

答案 0 :(得分:4)

我今天也遇到了这个问题。我最后加载了一个位图。

            Bitmap bit = BitmapFactory.decodeFile(image_path);
            mImageView.setImageBitmap(bit);

正确显示。

答案 1 :(得分:3)

你是对的 这是密度问题。为了确保您的图像以正确的尺寸显示而不管设备的密度,您应该考虑使用dip(密度无关像素)单位。

此外,Android 1.5不支持图像密度 - 即。它不知道如何区分mdpi,hdpi,ldpi位图。 Android 1.6及以上版本。您可以使用Bitmap.setDensity()或BitmapDrawable.setTargetDensity()

最后 - 你提到它应该是1/3小,这是一个很好的迹象表明问题与密度有关,因为mdpi密度是160dpi而hdpi是240dpi - 160/240 = 2/3这是比原始图像小1/3。

希望这有帮助!

答案 2 :(得分:0)

试试这个:

ImageView photo = (ImageView)findViewById(R.id.photo);
photo.setScaleType(ImageView.ScaleType.CENTER);