Предоставление ресурсов макета для определенных размеров экрана

В моем проекте Eclipse у меня сейчас есть следующие папки:

  • план-земля
  • макет большой земли
  • макет-sw600dp-земля
  • макет-xhdpi-земля

(У меня есть и другие, но сейчас проблема только с альбомной ориентацией.)

Мой макет довольно специфичен: он сильно меняется, когда я изменяю размер экрана в графическом макете в Eclipse.

Из того, что я узнал из документации по Android и из настройки AVD, обычные экраны имеют размер от 3,6 до 4,9 дюймов. Большие — от 5,0 до 7,4 дюймов. Маленькие до 3,5".

Я перехожу к своему файлу макета xml в папке layout-land. Размер экрана уже выбран 4,0 дюйма, и это хорошо, потому что мы находимся в папке с альбомной ориентацией для обычных размеров экрана. Теперь я выбираю размер экрана 5,1 дюйма. Редактор открывает xml-файл в папке layout-large-land — тоже ОК.

Я сейчас выбираю этот экран: 4,65" (720x1280 xhdpi). Размер 4,65" пока в пределах нормы, а редактор использует файл xml в папке layout-land. Это должно быть в порядке, за исключением того факта, что мой макет сильно меняется! Я подумал, что, возможно, это из-за xhdpi, и поэтому я создал папку выше (номер 4), но это, похоже, не работает с Eclipse (файл xml не используется для этого экрана). Такая же проблема с 4,7".

Итак, в чем мой вопрос:

Как я могу предоставить разные макеты xml для экранов в обычном диапазоне?


person gosr    schedule 08.01.2013    source источник


Ответы (1)


Обратите внимание, что платформа Android не учитывает размеры экрана так, как dp or Density Pixels. Также есть несколько известных проблем с Eclipse и плагином ADB для eclipse. Лучший способ проверить это с реальным устройством. Для информации для поддержки экранов нам просто нужно разместить файлы в папках ниже и, возможно, это будет работать для большинства устройств с указанным DP.

  • план-земля
  • макет большой земли
  • макет-sw600dp-земля
  • макет-xhdpi-земля

http://developer.android.com/guide/practices/screens_support.htmlОписание размеров экрана

person Lalith B    schedule 19.04.2013