Получение высоты экрана возвращает больший экран, чем может отображать физический экран - PullRequest
0 голосов
/ 31 июля 2011

Когда я получаю размер экрана для моего приложения для Android, он возвращает переменную, которая в каждом случае слишком велика для отображения на экране. Я использую следующий код, чтобы получить размер экрана.

final int windowHeight = getResources().getDisplayMetrics().heightPixels;
final int windowWidth = getResources().getDisplayMetrics().widthPixels;

Есть ли способ компенсировать это? Или даже исправить мою проблему?

Кроме того, есть ли способ отключить батарею / шкалу времени в приложении? Я думаю, что это может быть причиной у меня проблемы, но я на самом деле не знаю. Вот почему я спрашиваю.

Ответы [ 2 ]

1 голос
/ 31 июля 2011

Чтобы отключить батарею / шкалу времени, я использую это в моем файле AndroidManifest.xml, для тега <application>:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar" 
    ...
    >


И, чтобы получить размер экрана, вот что у меня есть в Activity:

    Display display = getWindowManager().getDefaultDisplay(); 
    int screenWidth = display.getWidth();
    int screenHeight = display.getHeight();
0 голосов
/ 31 июля 2011

Обратите внимание, что вам могут потребоваться точки плотности вместо пикселей. Если вы получите размеры в пикселях, вот как вы их конвертируете. Но вы можете получить размеры в дп тоже

        /*  
         * Get dps from pixel.
         */
        float scale = getResources().getDisplayMetrics().density;

        public static float dpFromPixels(int pixels) {
            float dp = (float) (pixels / scale + 0.5f);
            return dp;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...