我從谷歌地圖靜態API下載靜態地圖。當我用瀏覽器下載圖片時,尺寸是可以的(728x224)。您可以從下面檢查網址。下載的圖片不適合ImageView雖然尺寸應該是好的(novoda)
但是,當我嘗試在我的Android應用程序中查看它是小(540x166)。當然,我可以用'centerCrop'來顯示它,但這不是理想的解決方案。據我所知,兩種尺寸都是以像素爲單位的,所以它應該完全適合。我登錄這樣說:
Log.i(TAG, "view size: "+mapPicture.getWidth()+"/"+mapPicture.getHeight());
Log.i(TAG, "pic size: "+mapPicture.getDrawable().getIntrinsicWidth()+"/"+mapPicture.getDrawable().getIntrinsicHeight());
而且logcat的是這樣的:
11-29 21:41:37.547: I/DetailsFragment(18064): view size: 728/224
11-29 21:41:37.547: I/DetailsFragment(18064): http://maps.google.com/maps/api/staticmap?center=0,0&zoom=3&size=364x112&scale=2&sensor=false
11-29 21:41:37.547: I/DetailsFragment(18064): pic size: 540/166
我下載的圖片與ImageManager和測試華電國際設備上。
那麼爲什麼下載的圖片大小不同呢?
編輯: 當我下載圖像的兩倍大,ImageView
內繪製幾乎是相同的大小如以前:pic size: 540/189
不,我沒有。我想我必須閱讀5次以瞭解此解決方法。但它看起來像是我的問題的確切解釋。 –
所以novoda ImageManager下載圖像,使用你提到的功能來繪製。這是問題出現的地方。如果不更改加載器後面的代碼,我將無法解決它。它縮小了,當我使用'centerCrop'再次放大時會導致質量損失。這很奇怪。無論如何,如果你能想出一個解決方案(而不是簡單地下載更高分辨率的圖像),我會很感激 –