2016-12-07 6 views
2

Я пытаюсь получить физические размеры экрана экрана андроида ChromeBook, используя следующий код: -Как получить размер физического экрана на Chromebook Chrome?

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

Эта функция возвращает реальные размеры экрана устройства.