Я видел ссылки на возможность указать два отдельных XML-файла макета для действия, один для Портрета и один для Пейзажа. Я не был, чтобы найти какую-либо информацию о том, как это сделать, хотя. Как мне указать для каждого вида деятельности, какой XML-файл является портретным макетом, а какой альбомным?
Можно ли также указать разные макеты для разных размеров экрана? Если да, то как это сделать?
android
orientation
landscape
portrait
Джей Аскрен
источник
источник
Вы просто должны поместить его в отдельные папки с разными именами в зависимости от ориентации и разрешения, устройство автоматически выберет правильную для своих настроек экрана
Больше информации здесь:
http://developer.android.com/guide/practices/screens_support.html
в разделе «Спецификаторы каталога ресурсов для размера и плотности экрана»
источник
Для любителей мыши! Я говорю правой кнопкой мыши на папке ресурсов и
Add new resource file
, и из доступных квалификаторов выберитеorientation
:Но все же вы можете сделать это вручную, скажем, добавив подпапку "layout-land" в
"Your-Project-Directory \ приложение \ SRC \ главная \ Рез"
с тех пор любой файл layout.xml в этой подпапке будет автоматически работать только в ландшафтном режиме .
Используйте «layout-port» для портретного режима.
источник
Просто напоминание:
Удалите
orientation
изandroid:configChanges
атрибута действия вxml
файле манифеста, если вы его определили:источник
Самый быстрый способ для Android Studio 3.xx и Android Studio 4.xx
1. Перейдите на вкладку дизайна макета деятельности
2.Вверху вы должны нажать на кнопку ориентации для предварительного просмотра, есть опция для создания макета ландшафта (проверьте изображение), новая папка будет создана как файл макета XML для этой конкретной ориентации.
источник
Я думаю, что самый простой способ в последних версиях Android - перейти в режим «Дизайн» XML (не «Текст»).
Затем в меню выберите опцию - Создать альбомную вариацию. Это создаст пейзаж XML без каких-либо хлопот в течение нескольких секунд. Последняя версия Android Studio позволяет сразу создать альбомный вид.
Я надеюсь, что это работает для вас.
источник
Создайте новый каталог
layout-land
, затем создайтеxml
файл с тем же именем,layout-land
как былоlayout
каталог, и выровняйте там свой контент для ландшафтного режима.Обратите внимание, что идентификатор контента в обоих
xml
одинаков.источник
Последняя строка ниже - пример применения двух квантификаторов: альбомной и наименьшей ширины экран с горизонтальной (600 dp). Обновите 600dp с теми, которые вам нужны.
Вышесказанное относится и к размерам
Полезные метрики устройства: https://material.io/tools/devices/
источник
Или используйте это:
источник
Используя Android Studio 3.4.1, он больше не создаетlayout-land
папку . Это создаст папку и объединит два файла макета.источник