1
在我看來,android縮放位圖和dpi分辨率的方式是不正確的。正確的縮放方式ImageView
例如我有一個320x533圖像,即意在覆蓋整個屏幕區域,被定義爲這樣:
<ImageView
android:src="@drawable/background"
android:layout_width="320dp"
android:layout_height="533dp" />
在HDPI(240或1.5)中的圖像正確地縮放以480x800的 。但是在xhdpi(320或2.0)不行!這就是圖像變得640x1066但實際手機領域可能是720x1280或1080×1920或其他類似決議。
我試圖調整ImageView.scaleType(每個選項),但仍然無法正確縮放圖像。你認爲怎樣處理這個問題是正確的?我應該繼承ImageView的子類並使用Java處理縮放,還是缺少一些基本的東西?
但問題是,android總是在xhdpi * 2.0縮放,而實際比例是不同的。 720px/320px = 2.25和1080px/320px = 3.375。您建議我爲每種不同的分辨率製作不同的預縮放圖像? – Dimitris
android:layout_width =「320dp」 android:layout_height =「533dp」可以被代碼覆蓋。剛剛告訴上面如何繼續:http://developer.android.com/guide/practices/screens_support.html和http://developer.android.com/training/multiscreen/screendensities.html – 2012-12-26 12:40:15
嗯,我已經讀過這些。他們沒有提供我的問題的答案。從第一個鏈接有2個建議。 1)爲不同的屏幕尺寸(/ res/layout-xyz)提供不同的佈局。 2)爲不同的屏幕密度(/ res/drawable-xyz)提供不同的位圖可繪製。我可以使用(1)和調整佈局xml爲不同的大小,但這是很多工作和一種愚蠢的IMO。我需要的是根據實際屏幕分辨率動態評估比例,而不是預定義的值。 – Dimitris