2

Я создал файлы ресурсов макета Android для ландшафтного режима для всех разных размеров экрана, таких как: маленький, большой, средний и очень большой, однако, когда я запускаю приложение, оно не работает в ландшафтный режим, как половина кнопок, изображения отсутствуют на экране.Пейзаж Экран Ориентация не работает в Android Studios

Я также включил нижнюю строку в файл манифеста android.

android:configChanges="orientation|screenSize|keyboardHidden" 

Я включил нижеследующее во все java-файл actvity и все еще не работает.

public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 

     if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
      Toast.makeText(getApplicationContext(), "Portrait Mode", Toast.LENGTH_SHORT).show(); 
     }else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) { 
      Toast.makeText(getApplicationContext(), "Landscape Mode", Toast.LENGTH_SHORT).show(); 
     } 

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

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

ответ

2

использовать это в методе конфигурации:

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     Intent intent = getIntent(); 
     finish(); 
     startActivity(intent); 
    } 
+0

Невозможно разрешить Consts и ток. Пожалуйста, порекомендуйте? –

+0

Я редактирую ответ, Это было о моей деятельности, у которой есть дополнительные функции. –

4

Изменить это:

android:configChanges="orientation|screenSize|keyboardHidden" 

к этому:

android:configChanges="screenSize|keyboardHidden" 

С первым утверждением вы в основном говорят андроид не воссоздать активность при повороте экрана !!!

+1

Спасибо, что это разрешило проблему для меня. основная ошибка я сделал. Спасибо за совет. –

+0

если мой ответ помог не забыть принять его –