2017-02-21 10 views
-7

У меня есть два файла: activity_main.xml и activity_main.xml (земля).Разница между activity_main.xml и activity_main.xml (земля)? Как изменить их во время выполнения?

Если мой телефон находится в портрет режиме, я хочу два запуска activity_main.xml.

Если мой телефон находится в пейзаж режим, я хочу запустить activity_main.xml (земля).

Что мне делать?

+0

См http://stackoverflow.com/questions/5407752/андроид-топологии папка-макет компоновка порта-макет земля – nnn

ответ

0

удалить файл activity_main.xml (земля) и передать файл activity_main.xml в один и тот же файл java!

0

Android SDK предоставляет различные способы управления ресурсами приложения android. Устройство поддерживает два режима ориентации:

Портрет

Если вы хотите добавить какой-либо конкретный формат для портретного режима только, Вы должны назвать файл макета как «хуг-port.xml».

Пейзаж

Если вы хотите добавить какой-либо конкретный формат для портретного режима только, Вы должны назвать файл макета как «хуг-land.xml».

Система Android решит время выполнения, какой макет выбрать.

Для запроса ниже,

У меня есть два файла activity_main.xml и activity_main.xml (земля)

Если не указано какое-либо подобное, activity_main.xml тогда Он будет использоваться для обоих.

Для получения дополнительной информации проверьте here. Спасибо.

0

, пожалуйста, проверьте следующую ссылку. Я надеюсь, что вы получите решение.

google developer

link 2

2

activity_main.xml(land) Разница в альбомной ориентации. Если все есть, убедитесь, что вращение экрана включено!

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

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

Или вы можете сделать это таким образом,

enter image description here

enter image description here

Теперь дело сделано!

enter image description here

Но у вас есть одна активность и две точки зрения зависят от ориентации. View A может не иметь что-то в виду B (если у вас одинаковый набор представлений в обоих xmls, вам это не нужно). Если у вас нет такого же набора, вам нужно правильно инициализировать свои представления!

При инициализации ваших взглядов вы можете сделать это:

Для Lanscape

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){ 
    //init views in landscape 
} 

Для Портрета

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ 
//init views in portrait 
} 
Смежные вопросы