0
我從Eclipse更改爲Android Studio。我正面臨模擬器密度的問題。 例如,在Eclipse中,三星S4的密度爲xxhdpi,但在Android Studio中爲xhdpi。 三星S4:4,99' - 1080 X 1920Android Studio密度
這是我的代碼:
Float density = getResources().getDisplayMetrics().density;
if(density >= 1.0 && density < 1.5){ //mdpi
...
} else if(density >= 1.5 && density < 2.0){ //hdpi
...
} else if(density >= 2.0 && density < 3.0){ //xhdpi
...
} else if(density >= 3.0 && density < 4.0){ //xxhdpi
...
} else if(density >= 4.0){ //xxxhdpi
...
}
密度值是2.625。所以進入xhdpi的情況下,但我需要進入xxhdpi! 問題是什麼?有一個更好的方法嗎?。
感謝
你真的在你的代碼中有這個'if's鏈嗎?如果是這樣,你很可能做錯了或不理想的事情。 – Henry
是的,我有。爲什麼?例如,我使用dp,wrap_content等嘗試在每個屏幕上工作,但有時需要手動調整一些大小或位置 – user3240604
這通常是通過將值放入資源文件中完成的。您可以爲不同的屏幕尺寸或密度提供不同的版本。代碼本身是乾淨的,只是獲取資源價值。 – Henry