проблема андроида в получении разрешения экрана

1
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;
Log.e("FirstImage", "Width = "+width+"Height = "+height);

Выше был код, который я использовал для отображения размера экрана. Но проблема в том, что я получаю width=320 и height=569. Но я использую веху майоры с размером экрана 480x854

Как я могу получить правильный размер?

  • 0
    Display display = getWindowManager (). GetDefaultDisplay (); width = display.getWidth (); height = display.getHeight (); ориентация = display.getOrientation (); Я тоже использовал этот код, но такая же проблема существует ЛЮБОЙ, пожалуйста, помогите мне, это очень срочно для моего приложения
  • 0
    Заключение о том, как получить реальное разрешение: stackoverflow.com/questions/11824193/…
Теги:
screen

4 ответа

3
Лучший ответ

http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/

ссылка имеет отличный ресурс, который рассказывает о разрешении экрана и о том, как получить реальное разрешение экрана и т.д.... прочитайте полностью, вы узнаете о реальности

0

Тег <supports-screens> должен определенно работать. См

http://developer.android.com/guide/topics/manifest/supports-screens-element.html

Важным вопросом является то, почему вы не доверяете масштабированным измерениям, которые вы получаете из DisplayMetrics? Если бы вы сделали что-то вроде

canvas.drawRect(new Rect(0,0,width,height), new Paint());

Ваш прямоугольник обязательно заполнит экран. Там происходит масштабирование, но, возможно, вам все равно.

0

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

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display d = wm.getDefaultDisplay();
int height = d.getHeight();
  • 0
    я тоже попробовал
  • 0
    Это даст другое значение, чем метод, который он использует выше? (просто любопытно)
Показать ещё 1 комментарий
0

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

Если вы добавите это в свой манифест, он отобразит правильные значения

     <supports-screens 
        android:largeScreens="true" 
        android:smallScreens="true" 
        android:normalScreens="true" 
     /> 

вы даже можете играть с

 android:anyDensity

но я не думаю, что это необходимо для вашей текущей проблемы.

  • 0
    (серьезно, у меня была твоя проблема, это было причиной :))
  • 0
    извините, это не работает ..... я попробовал сейчас и больше предложений
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню