как узнать фактический размер экрана, когда приложение работает в режиме совместимости - PullRequest
4 голосов
/ 12 октября 2011

Я пытаюсь прочитать размер экрана с помощью DeviceMetrics, но он дает мне масштабированный размер, а не фактический размер экрана.

Как узнать фактический размер экрана в режиме совместимости?

Например, приложение работает на экране 480x800.
Но оно дает мне 400x700 из-за режима совместимости.

1 Ответ

0 голосов
/ 03 июня 2014

попробуйте этот код:

    if (Build.VERSION.SDK_INT >= 11) {
        Point point= new Point();
        getWindowManager().getDefaultDisplay().getRealSize(point);
        screenWidth = point.x;
        screenHeight = point.y;
    } else {
        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        screenWidth = displayMetrics.widthPixels;
        screenHeight = displayMetrics.heightPixels;
    }

примечание: из-за метода getRealSize вам может понадобиться поймать NoSuchMethodError исключение

...