проблема андроида в получении разрешения экрана - PullRequest
1 голос
/ 14 января 2011
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. Но я использую Motorola Milestone с размером экрана 480x854

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

Ответы [ 4 ]

3 голосов
/ 19 января 2011

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

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

0 голосов
/ 14 января 2011

попробуйте

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display d = wm.getDefaultDisplay();
int height = d.getHeight();
0 голосов
/ 14 января 2011

Тег <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 голосов
/ 14 января 2011

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

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

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

, вы можете даже захотеть поиграть с атрибутом

 android:anyDensity

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

...