如何獲得屏幕寬度dpi?如何在ANDROID中獲取屏幕寬度dpi?
DisplayMetrics metrics = getResources().getDisplayMetrics();
int f = metrics.densityDpi;
// getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int dp = (int)(width/(metrics.density));
我這樣做,所以讓我們假設我densitydpi是120..and widthpixel 240 .. 通過計算,我得到240/0.75 ....所以我有320 widthdpi?
但是,情況並非如此.... widthdpi小於320我認爲...因爲320在屏幕上與我錯誤....使用120作品。
在Nexus 4 ...寬度爲768和320 densitydpi ......我把二分之七百六十八,我得到384正確的寬度密度DPI(它的工作原理)
但是在其他的像240,160,120密度widthdpi的dpi..the計算似乎是錯誤的...
有件事我補充。例如在上面的情況...如果我做layout_margin 20 dp ...我從320中扣除40 ...我應該得到280 ..但我得到sthg像240 ...所以widthdpi計算錯了 – user3278732
對於大多數應用程序中,沒有理由計算這些值,假設您正在編寫佈局並一直使用dp值(無論顯示設備的密度如何,它都會自動正確地縮放事物)。 – ianhanniballake