Как указать различные макеты для портретной и альбомной ориентации?
Я видел ссылки на возможность указать два отдельных XML-файла макета для действия, один для портрета и один для ландшафта. Однако я не нашел никакой информации о том, как это сделать. Как указать для каждого действия, какой xml-файл является портретным макетом, а какой-ландшафтным макетом?
можно ли также указать разные макеты для разных размеров экрана? Если да, то как это сделать?
6 ответов:
вам просто нужно поместить его в отдельные папки с разными именами в зависимости от ориентации и разрешения, устройство автоматически выберет правильный для своих настроек экрана
подробнее здесь:
http://developer.android.com/guide/practices/screens_support.html
в разделе "Каталог ресурсов квалификаторы для размера и плотности экрана"
для любителей мыши! Я говорю, щелкните правой кнопкой мыши на папке ресурсов и
Add new resource file
, и из доступных отбор выберитеorientation
:
но все же вы можете сделать это вручную, скажем, добавив подпапку "layout-land" в
"Your-Project-Direction\app\src\main\res"
С тех пор любой макет.xml-файл в этой подпапке будет работать только в ландшафтном режиме автоматически.
используйте "layout-port" для портретного режима.
создать новую папку
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>