我想顯示72x72像素的外部存儲圖像。 我的設備密度很高。 圖像視圖的高度和寬度是「wrap_content」。從Android上的外部存儲加載時發生圖像大小問題
如果我加載圖片或使用URL,我會得到不同的結果。
如果我使用這樣的URL,那麼結果將是大約48x48px。
imageView.setImageURI(Uri.fromFile(file));
如果我加載位圖的結果如預期72x72像素:
InputStream is = context.getContentResolver().openInputStream(Uri.fromFile(file));
Bitmap b = BitmapFactory.decodeStream(is, null, null);
is.close();
iv2.setImageBitmap(b);
你可以看到結果這裏:
它會更好,如果我可以使用setImageURI
而不是預加載 圖像,我也想在appwidgets中顯示圖像。 你能告訴我是什麼原因引起的差異,我該如何避免它?
@Waynn:你已經擁有[內嵌圖片的權限](http://stackoverflow.com/privileges/new-user),請在將來的編輯中這樣做。 :) – sarnold 2012-03-09 11:22:21
可以做!對不起,我總是害怕編輯*太多*。 :) – 2012-03-09 11:25:08
不同之處在於'imageView.setImageURI()'將'BitmapFactory.Options.inScreenDensity'設置爲'DisplayMetrics.DENSITY_DEVICE'。這會導致不同的縮放比例。 – zapl 2012-03-09 11:26:17