2014-03-07 38 views
0

我通過documentation瞭解瞭如何有效地加載位圖,並且我完全用它來創建縮略圖。但是,當我想要加載位圖的ImageView而不是硬編碼大小(對於使用75x75 dp的縮略圖)寬度和高度的ImageView時,會發生什麼情況?當尺寸未知時,有效地加載位圖

用於被更具體的: here的文檔提供了此功能

decodeSampledBitmapFromResource(Resources res, int resId,int reqWidth, 
int reqHeight) 

並計算inSampleSize爲所需寬度和高度。我雖然得到設備的寬度和高度,並減去圖像視圖的填充,但這在我看來有點破解。有沒有其他方法? 謝謝你的時間。

回答

0

直接獲取視圖寬度/高度,而不是從設備寬度和高度中解決。

可以使用myImageView.getHeight()myImageView.getWidth();

http://developer.android.com/reference/android/view/View.html

[寬度和高度]做到這一點。這些尺寸定義了屏幕上的視圖的實際尺寸, 繪圖時間和佈局後。這些值可能但不一定與測量的寬度和高度不同。可以通過調用getWidth()和getHeight()來獲得寬度和高度 。

然後使用實際的高度/寬度,可以有效地獲取位圖,以獲得所需的精確分辨率。

+0

這將如何工作,因爲我的imageView將延伸到我加載的位圖將適合? – Libathos

+0

@libathos將延伸到你的位圖適合?將其設置爲'match_parent'並根據最大空間載入圖像是否適合。或者指定您自己所需的寬度,並且imageview將採用相同的大小。 – Doomsknight