2017-04-07 95 views
-2

我想要得到的屏幕的大小,我已經有分辨率如何獲得手機屏幕大小的Android

DisplayMetrics displayMetrics = new DisplayMetrics(); 
    WindowManager windowmanager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE); 
    windowmanager.getDefaultDisplay().getMetrics(displayMetrics); 
    final int deviceWidth = displayMetrics.widthPixels; 
    final int deviceHeight = displayMetrics.heightPixels; 

,但我想以英寸大小,像三星Galaxy S7擁有的2560×1440分辨率和5.1" 的屏幕,它的5.1我想

感謝

回答

3

如果你想在像素的顯示尺寸您可以使用此代碼:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

然後,您可以添加比較高度以滿足您的需求的條件。

在英寸:

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); 
1

試試這個

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
int width=dm.widthPixels; 
int height=dm.heightPixels; 
double wi=(double)width/(double)dm.xdpi; 
double hi=(double)height/(double)dm.ydpi; 
double x = Math.pow(wi,2); 
double y = Math.pow(hi,2); 
double screenInches = Math.sqrt(x+y); 
+0

謝謝,我試過了,它的工作,但我的S7我得到5.093 ...我怎麼能圓這個結果得到5.1這樣我可以顯示它乾淨 –

+0

http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java –

+0

你可以使用String.format(「%。 2f「,d),你的double將被自動舍入。 – Anmol

相關問題