2012-06-18 2 views
0

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

android.view.Display.getHeight(); 

ответ

1

Я потратил некоторое время на поиск этого и не нашел ничего похожего на то, о чем вы просите. Отчасти проблема заключается в том, что панель, которая занимает пиксели, которые они не включают, потенциально может иметь разные размеры.

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

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

1

Это не работает для вас?

 DisplayMetrics dm = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(dm); 
     displayHeight = dm.heightPixels; 

Для меня, displayHeight возвращает 960 пикселей на моем HTC Sensation

+0

На моем галактическом Nexus он дает 1184 (Spec Height: 1280) - то же самое, что и возвращаемое значение от Disaply.getHeight(). –

+0

Интересно. Виртуальная панель навигации внизу GNexus вызвала недостающую высоту пикселя. Google должен был предоставить набор API для получения реальных разрешений устройства. См. Этот пост для «недокументированного» решения: http://stackoverflow.com/questions/10991194/android-displaymetrics-returns-incorrect-screen-size-in-pixels-onics – azgolfer

Смежные вопросы