2013-10-04 5 views

ответ

2

Nexus 4 имеет плотность пикселей xhdpi, поэтому физический дисплей с разрешением 1280 пикселов x 768 пикселей представляет собой шкалу 640dp x 384dp с точки зрения компоновки android «независимые от устройства пиксели». Если вы настроите макет на 1280dp x 768dp, это неверно.

Для получения дополнительной информации о плотности экрана, независимых от устройства пикселей (dp) обратитесь к http://developer.android.com/guide/topics/resources/more-resources.html#Dimension.

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

Вы также хотите знать:

float pixelDensity = myContext.getResources().getDisplayMetrics().density; 

Вы можете определить ваш дисплей размер:

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

затем:

int heightInDIPs = height/pixelDensity; 
int widthInDIPs = width/pixelDensity; 

по ссылке Поддержка нескольких размеров экрана при условии, by @SpacePope лучше всего ... вы можете получить некоторые роды l рекомендации по размерам устройств для каждой категории дисплея (малый, средний, большой, xlarge) и обязательно создайте графику для плотности mdpi, hdpi, xhdpi и теперь xxhdpi, и при необходимости масштабируйте платформу.

+0

Нет, я устанавливаю его на 1280 пикселей и все еще выхожу из экрана? – NateshR

+0

Я хочу знать значение match_parent высоты в nexus 4? – NateshR

+0

отредактировал ответ на ваши вопросы/комментарии – CSmith

0

Не используйте «px» в вашем формате XML; «dp» предпочтительнее поддерживать масштабирование на разных устройствах. Читайте дальше: supporting multiple screens.

+3

Кроме того, не забывайте о таких вещах, как панель навигации/строка состояния, которые занимают экранную недвижимость; с разрешением 1280x768 не является гарантией того, что ваше приложение будет иметь столько пикселей для работы. – Josh

+0

Я хочу знать значение, которое я должен установить для покрытия всего экрана. – NateshR

+1

Правильный способ сделать это - использовать 'fill_parent'; вы не хотите жестко кодировать эти значения с точки зрения пикселей, чтобы ваше приложение выглядело прямо на одном или двух определенных устройствах. См. Раздел «Лучшие практики» ссылки, которую я опубликовал. – Josh

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