Android: альтернативный макет XML для ландшафтного режима - PullRequest
117 голосов
/ 01 февраля 2011

Как я могу иметь один макет для пейзажа и один для портрета?Я хочу принять дополнительную ширину и сохранить вертикальное пространство, когда пользователь поворачивает телефон в сторону.

Ответы [ 4 ]

210 голосов
/ 01 февраля 2011

По умолчанию макеты в /res/layout применяются как к книжной, так и к альбомной ориентации.

Если у вас есть, например,

/res/layout/main.xml

Вы можете добавить новую папку /res/layout-land, скопировать в нее main.xml и внести необходимые изменения.

orientation

См. Также http://www.androidpeople.com/android-portrait-amp-landscape-differeent-layouts и http://www.devx.com/wireless/Article/40792/1954 для получения дополнительных параметров.

68 голосов
/ 23 января 2015

В текущей версии Android Studio (v1.0.2) вы можете просто добавить альбомную планировку, нажав на кнопку в визуальном редакторе, показанном на скриншоте ниже. Выберите «Создать вариант ландшафта»

Android Studio add landscape layout

42 голосов
/ 01 февраля 2011

Макеты в / res / layout применяются как к книжной, так и к альбомной ориентации, если не указано иное. Предположим, у нас есть /res/layout/home.xml для нашей домашней страницы, и мы хотим, чтобы она выглядела по-разному в 2 типах макетов.

  1. создать папку / res / layout-land (здесь вы будете сохранять макеты с измененным ландшафтом)
  2. скопируйте туда home.xml
  3. внести необходимые изменения

Источник

2 голосов
/ 07 ноября 2016

Вы можете сгруппировать ваш конкретный макет под правильную структуру папок следующим образом.

раскладка-земля-target_version

е

layout-land-19 // target KitKat

также вы можете создавать свои макеты.

Надеюсь, это поможет вам

...