Невозможно получить правильный размер экрана с помощью служб для Android - PullRequest
0 голосов
/ 03 сентября 2010

Итак, я пытаюсь получить размер экрана Moto Droid в моем приложении. в моем Create я использую Service windowManager, чтобы получить отображение по умолчанию.

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

Когда я установил его, я получил ширину 320 и высоту 570. Это выглядит неправильно, это должно быть 320x480. Я хочу разместить изображение размером 300x50 в нижней части экрана на любом устройстве (на самом деле), чтобы обычно я получал высоту экрана и минус высоту изображения, чтобы он размещался на виде. но так как я получаю 570 по какой-то причине, мне нужно прокрутить вниз, чтобы увидеть изображение. почему он получает неправильный размер экрана и есть еще один более точный способ получить размер. Спасибо

Код макета выглядит следующим образом

   linearOut = new LinearLayout(this);
    linear = new LinearLayout(this);
    linear.setOrientation(LinearLayout.VERTICAL);


    scroll = new ScrollView(this);
    linearOut.addView(scroll);
    scroll.addView(linear);

            linear.addView(text);
    linear.addView(bbottom.getViewGroup());

    setContentView(linearOut);

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

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

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int width = display.getWidth(); 
    int height = display.getHeight();
0 голосов
/ 03 сентября 2010

Я думаю, что понял. Таким образом, информация выше показывает полный экран для просмотра. так что это включает в себя строку состояния. Есть ли способ увидеть высоту строки состояния? Я не уверен, все ли устройства Android имеют одинаковую высоту пикселей для строки состояния.

...