Обработка вращения? - PullRequest
       1

Обработка вращения?

0 голосов
/ 01 ноября 2011
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
     setContentView(R.layout.login);
 }
 else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
                setContentView(R.layout.login);
 }

У меня есть 2 login.xml (один в папке layout, другой в папке layout-land).При первом запуске программы она работает нормально (например, в режиме ПОРТРЕТ), а при повороте устройства она не вызывает режим LANDSCAPE.это просто повернуть тот же login.xml.Есть ли какое-то решение для этого?

Ответы [ 4 ]

1 голос
/ 01 ноября 2011

Сохраните один файл login.xml в res / layout и другой в res / layout-land и удалите условие if else, просто поставив:

   setContentView(R.layout.login)

при изменении ориентации устройства Android автоматически загрузит соответствующий файл XML. Это работает в моем случае ...

1 голос
/ 01 ноября 2011

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

1 голос
/ 01 ноября 2011

переместите файл login.xml в папку «layout-port», которая находится в папке «layout» http://android -developers.blogspot.com / 2009/02 / android-layout-tricks-2-reusing-layouts.html

0 голосов
/ 01 ноября 2011

Вы должны хранить оба файла в разных папках res/layout, а другой - в res/layout-land и просто написать:

setContentView(R.layout.login)

или, если он все еще не работает, вы можете использовать тот же код с разметкой пути

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
     setContentView(R.layout.login);
 }
 else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
                setContentView(R.layout-land.login);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...