2012-03-13 4 views
1

Я внедрил приложение для Android android 7 incs. В моем приложении я использовал два типа макетов в каталогах макетов и макетов-портов с тем же именем xml и различным дизайном.Как получить пейзаж, когда я сменил портрет на ландшафт?

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

Я выполнил мое приложение следующим образом:

if(wm.getDefaultDisplay().getOrientation()==1){ 
     //portrait view code 
     } 

     else{ 
      //landscape view code 
       } 

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

Как я могу получить свой ландшафтный вид, когда я меняю пейзаж на портретный пейзаж?

please any body help me?

+0

возможно, некоторые ошибки, когда вы раздувание макетов? Обычно вам не нужна функция getOrientation(), если вы правильно реализуете фрагменты. пожалуйста, напишите больше кода! – ramdroid

ответ

2

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

Исправлена ​​ошибка сообщается, и вы можете увидеть это here

1

Вы можете использовать этот код:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

или

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Вы возможно также должны установить это в манифесте под деятельности:

android:configChanges = "orientation" 
+0

должен использовать вышеуказанное условие onCreate() или if if counditon? –

+0

Я бы использовал условие if, тогда у вас было больше контроля над ним. – Bigflow

Смежные вопросы