2016-12-07 52 views
2

我嘗試使用下面的代碼來獲取Android的Chromebook屏幕的物理屏幕尺寸: -如何獲取android chromebook上的物理屏幕尺寸?

DisplayMetrics metrics = new DisplayMetrics(); 
sketchActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics); 
int width = metrics.widthPixels; 
int height = metrics.heightPixels; 

這回在應用程序託管窗口的大小。所以當我的應用程序窗口不是全屏時,這個API返回的值比實際的屏幕尺寸要小。

那麼誰能告訴我物理屏幕的正確尺寸?

+0

你可以試試這個:Resources.getSystem()。getDisplayMetrics()。widthPixels;同樣的高度也是如此 – dex

回答

1

所以我能找到解決方案,爲我自己的問題。 下面是我使用的代碼: -

public static Point getDisplaySize() { 
    boolean isChromeBook = SketchApplication.getAppContext().getPackageManager().hasSystemFeature(DEFAULT_CHROMEBOOK_PACKAGE_NAME); 
    if (isChromeBook) { 
     DisplayMetrics dm = SketchApplication.getAppContext().getResources().getDisplayMetrics(); 
     return new Point(dm.widthPixels, dm.heightPixels); 
    } else { 
     WindowManager windowManager = (WindowManager)sContext.getSystemService(Context.WINDOW_SERVICE); 
     Display display = windowManager.getDefaultDisplay(); 
     Point size = new Point(); 
     display.getRealSize(size); 
     return new Point(size.x, size.y); 
    } 
} 

該函數返回的設備屏幕的實際尺寸。