Как указать различные макеты для портретной и альбомной ориентации?

Я видел ссылки на возможность указать два отдельных XML-файла макета для активности, один для Portrait и один для Landscape. Я не должен был найти какую-либо информацию о том, как это сделать. Как я могу указать для каждого вида деятельности, какой xml-файл является его макетом и который является макетом ландшафта?

Можно ли также указать разные макеты для разных размеров экрана? Если да, то как это делается?

Solutions Collecting From Web of "Как указать различные макеты для портретной и альбомной ориентации?"

Создайте директорию layout-land и поместите в этот каталог ландшафтную версию XML-файла вашего макета.

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

Подробнее здесь:

http://developer.android.com/guide/practices/screens_support.html

В разделе «Квалификаторы каталога ресурсов для размера и плотности экрана»

Просто напоминание:

Удалите orientation из атрибута android:configChanges для активности в вашем манифестном xml файле, если вы определили его:

 android:configChanges="orientation|screenLayout|screenSize" 

Для любителей мыши! Я говорю правой кнопкой мыши по папке ресурсов и добавляю новый файл ресурсов, а из доступных спецификаторов выбирает ориентацию:

Введите описание изображения здесь


Но все же вы можете сделать это вручную, скажем, добавив подпапку «layout-land» в

"Your-Project-Direction \ приложение \ SRC \ главная \ Рез"

Так как тогда любой файл layout.xml в этой подпапке будет работать только в ландшафтном режиме автоматически .

Используйте «Макет-порт» для портретного режима.

Создайте новый каталог layout-land , затем создайте xml файл с тем же именем в layout-land как это было в каталоге layout и выровняйте там свой контент для ландшафтного режима.

Обратите внимание, что идентификатор содержимого в обоих xml одинаковый.

Или используйте это:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:scrollbars="vertical" android:layout_height="wrap_content" android:layout_width="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- Add your UI elements inside the inner most linear layout --> </LinearLayout> </ScrollView>