簡體   English   中英

Android-PX到DP-布局高度錯誤

[英]Android - PX to DP - Wrong height of layout

我在布局文件中將布局高度設置為64dp,並觀察到計算的像素高度和實際的像素高度不匹配。

HDPI設備-計算的高度-96像素,實際高度:102像素XXHDPI設備-計算的高度-192像素,實際高度:204像素

任何人都可以幫助我了解計算出的高度與實際高度之間的差異。

mdpihdpixhdpi等是“通用密度”。 即dpi組或范圍。

Android指南

在此處輸入圖片說明

例如,兩個設備的dpi值分別為310和320 dpi,並且屬於同一組: xhdpi

通過設備代碼完成的計算使用的是精確的dpi值。 盡管基於dpi組的計算假定以下條件:

  1. ldpi(低)〜120dpi
  2. mdpi(中)〜160dpi
  3. hdpi(高)〜240dpi
  4. xhdpi(超高)〜320dpi
  5. xxhdpi(超高)〜480dpi
  6. xxxhdpi(超高)〜640dpi

更新:

如下代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM