android 獲取設(shè)備物理尺寸

 DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    double x = Math.pow(dm.widthPixels/dm.xdpi,2);
    double y = Math.pow(dm.heightPixels/dm.ydpi,2);
    double screenInches = Math.sqrt(x+y);
    Log.d("debug","Screen inches : " + screenInches);

在Android 4.0 之前可以通過下面的方式獲取屏幕的寬高:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int mScreenW = dm.widthPixels; //得到寬度
int mScreenH = dm.heightPixels; //得到高度```

通過上面的方法在4.0之前,獲得的是屏幕的總寬和總高,包括狀態(tài)欄的高度和導(dǎo)航欄的高度,例如一個480 * 800的設(shè)備,通過上面的方法獲取的值是480和800,但在4.0后上面的方法獲取的高度就是除去導(dǎo)航欄高度外余下的高度值,例如如果導(dǎo)航欄的高度是48的話,在4.0后通過上面的方法獲取的 mScreenH 的值是等于 480 - 48 = 432.

所以,如果想要在4.0后獲取屏幕的總高度的話,需要采用下面的方法:

Display display = getWindowManager().getDefaultDisplay();
Point point = new Point();
display.getRealSize(point);
int mScreenH = point.y;
int mScreenW = point.x;

這樣獲取的寬高才是480和800.



public String getScreen() {
int screenH = 0;
int screenW = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
Display display = getWindowManager().getDefaultDisplay();
Point point = new Point();
display.getRealSize(point);
screenH = point.y;
screenW = point.x;
} else {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
screenW = dm.widthPixels; //得到寬度
screenH = dm.heightPixels; //得到高度
}
String screen =screenW+"*"+screenH;
return screen.trim();}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評論 25 709
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 14,090評論 1 92
  • 使用sketch最重要的一點是設(shè)計好控件的規(guī)范。 為做好設(shè)計規(guī)范需要對色彩進行編號,比如:color_a”_1,c...
    youyeath閱讀 26,663評論 2 237
  • “寶貝,又是曲妖精啊”看見安迪無奈的點了點頭,便開始了『長篇大論』:是不是又和你說娃娃親的事了,你就說,再說這件事...
    LYD佳閱讀 280評論 0 0
  • 考察國情社情,弘揚十八大精神 ——藝術(shù)設(shè)計學(xué)院 國情社情考察團 雖然現(xiàn)在經(jīng)濟發(fā)展很快,超出人們的意料之外,但是同時...
    愿非所的閱讀 255評論 0 0

友情鏈接更多精彩內(nèi)容