Поддержка нескольких экранов, нам нужны разные макеты для каждого экрана - PullRequest
1 голос
/ 14 сентября 2011

Для поддержки нескольких экранов нам нужны разные макеты для каждого экрана, который находится в папках hdpi, ldpi и mdpi, я читал это на сайте Android, но не уверен, как реализовать это.

Спасибо Max

Ответы [ 4 ]

3 голосов
/ 14 сентября 2011

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

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

Эта информация уже предоставлена ​​на сайте разработчика Android: http://developer.android.com/guide/practices/screens_support.html

Альтернативные возможности рисования => Плотность экрана:

enter image description here

2 голосов
/ 25 мая 2012

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

  • res / values-ldpi для экранов с низкой плотностью (ldpi) (~ 120dpi)
  • res / values-mdpi для экранов средней плотности (mdpi) (~ 160 dpi)
  • res / values-hdpi для экранов с высокой плотностью (hdpi) (~ 240 dpi)
  • res / values-xhdpi для экранов сверхвысокой плотности (xhdpi) (~ 320 точек на дюйм)
  • res / values-nodpi для всех
0 голосов
/ 14 сентября 2011

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

0 голосов
/ 14 сентября 2011

Предположим, у вас есть привлекательный макет по умолчанию в папке layout.В большинстве случаев Android сможет правильно его настроить.В моей практике только большие экраны требуют новых параметров компоновки.

Чтобы избежать дублирования макета, мы используем следующую структуру макета:

res/layout/foo.xml                      -- layout file
res/values/foo_styles_default.xml       -- default styles (component sizes, margins, etc.)
res/values-large/foo_styles_large.xml   -- styles for large screen
res/values-xlarge/foo_styles_xlarge.xml -- styles for very large screen

Параметры, зависящие от размера экрана в макете 'foo.xml', задаются через атрибут 'style',что позволяет нам избежать создания нескольких файлов макетов.

...