Android Пейзаж в портрет не загружает экраны при изменении ориентации

1

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

Ниже мой код Java

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

               Display display = ((WindowManager)       getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
            int   orientation = display.getOrientation(); 
            boolean oAllow = false;
            switch(orientation) {
            case Configuration.ORIENTATION_PORTRAIT:
            if(!oAllow ) {
                    setRequestedOrientation    (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

            }
            break;
        case Configuration.ORIENTATION_LANDSCAPE:
            if(!oAllow) {
                    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            break;
    }
      }

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

пожалуйста, любые предложения? Заранее спасибо

  • 0
    Я думаю, что вам действительно нужно прочитать документ разработчика. Вы должны только определить файл макета для другой папки ресурсов.
  • 0
    я добавил sigin.xml как в layout-land, так и layout-Portrait
Показать ещё 1 комментарий
Теги:
screen-orientation

2 ответа

2
Лучший ответ

Является ли папка вашего портрета xml или макет-портрет? Если его макет-портрет, пожалуйста, не объявляйте его так. Просто создайте папку "layout" по умолчанию, os возьмет xml, когда ориентация - портрет.

Затем прокомментируйте приведенный выше код в java и объявите в androidmanifest.xml, android: configChanges = "keyboardHidden | orientation" напротив вашей декларации активности и проверьте, работает ли она.

  • 0
    я разрабатываю их для планшета, я создал два макета большой земли
  • 0
    и макет-большой порт, но его все еще не работает ..
Показать ещё 6 комментариев
1

почему именно вы переопределяете onconfigchanges? Возможно, это может испортить ваш макет. android способен обрабатывать изменения макета, когда у вас есть макет и папка-макет, содержащая ваши макеты.

  • 0
    так что вы говорите, нужно удалить изменения onconfig, но он не загружает экран при изменении ориентации .. его загрузка того же экрана в ландшафтном режиме
  • 0
    что если вы удалите -portrait? просто оставить макет и папку layout-land? где-то что-то пошло не так ... андроид должен обрабатывать это автоматически
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню