Папки для макетов Android: layout, layout-port, layout-land - PullRequest
69 голосов
/ 23 марта 2011

Я не уверен, что хорошо понял роль, которую играют несколько папок Android /res/layout.

layout: общие макеты

layout-port: макет для виджета, которыйдолжен измениться для книжной ориентации

layout-land: макет для виджета, который должен измениться для альбомной ориентации

Например, в примере приложения Home , под layout-port и *В 1016 * папках есть только один home.xml файл.

Правильно ли я понял?

Ответы [ 3 ]

109 голосов
/ 23 марта 2011

Если вы находитесь в альбомной или книжной ориентации, Android сначала ищет файл макета в каталоге -port или -land, если он не найден, то возвращается к каталогу макета по умолчанию.

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

14 голосов
/ 23 марта 2011

Если вы поместите home.xml в папку layout-port, когда ваше устройство будет в портретной ориентации, оно будет использовать файл: layout-port/home.xml.

Если вы поместите home.xml в папку layout-land, когда ваше устройство в альбомной ориентации будет использовать файл: layout-land/home.xml.

Значение для разных режимов ориентации, таких как портрет и пейзаж ... мы используем два home.xml файла;один в layout-port, а другой в layout-land.Если, с другой стороны, вы хотите использовать один и тот же файл макета для обоих, вы можете просто поместить home.xml в папку layout и удалить его из layout-land и layout-port.

3 голосов
/ 17 ноября 2014

Создать папку в res layout-land или layout-port

layout-port: макет для виджета, который должен измениться для книжной ориентации

layout-land: макет для виджета, который должен быть изменен для альбомной ориентации

...