[英]Android - PX to DP - Wrong height of layout
我在布局文件中將布局高度設置為64dp,並觀察到計算的像素高度和實際的像素高度不匹配。
HDPI設備-計算的高度-96像素,實際高度:102像素XXHDPI設備-計算的高度-192像素,實際高度:204像素
任何人都可以幫助我了解計算出的高度與實際高度之間的差異。
mdpi
, hdpi
, xhdpi
等是“通用密度”。 即dpi組或范圍。
從Android指南 :
例如,兩個設備的dpi值分別為310和320 dpi,並且屬於同一組: xhdpi
。
通過設備代碼完成的計算使用的是精確的dpi值。 盡管基於dpi組的計算假定以下條件:
更新:
如下代碼:
int widthDp = 160;
Log.i("TEST", "Actual DPI: " + getResources().getDisplayMetrics().xdpi);
float widthDevice = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,widthDp,getResources().getDisplayMetrics());
Log.i("TEST", widthDp + " dip in pixels on device: " + widthDevice);
在兩個hdpi
設備上運行時:
213 DPI設備:
2164-2164/com.example.android.dpitest I/TEST﹕ Actual DPI: 213.0
2164-2164/com.example.android.dpitest I/TEST﹕ 160 dip in pixels on device: 213.0
和240 DPI設備:
2852-2852/com.example.android.dpitest I/TEST﹕ Actual DPI: 240.0
2852-2852/com.example.android.dpitest I/TEST﹕ 160 dip in pixels on device: 240.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.