Как заставить приложение игнорировать изменение ориентации экрана?

Есть ли способ сделать приложение полностью игнорировать изменение ориентации экрана?

7 Solutions collect form web for “Как заставить приложение игнорировать изменение ориентации экрана?”

Возможно, довольно легко переопределить поведение по умолчанию и запретить изменение ориентации экрана, когда клавиатура открыта / закрыта.

Изменение манифеста

Откройте манифест, перейдите на вкладку «Приложение» и выберите нужную операцию, которую вы хотите переопределить для поведения изменения ориентации.

  1. Внутри атрибутов вам необходимо изменить два поля: Ориентация экрана: выберите портрет или пейзаж – в зависимости от того, что требуется. Это будет макет по умолчанию.

  2. Выберите события для изменений Config, которые вы хотите переопределить: в этом случае это клавиатура с поддержкой и ориентацией.

Изменение действия

Теперь вам нужно переопределить одну функцию в пределах желаемой активности.

Просто добавьте функцию ниже в class Activity.

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } 

Это реализация по умолчанию, если вы используете Source->Override/Implement Methods .

Это оно! Теперь ваша ориентация всегда будет сохранена.

Помните, что этот параметр относится к каждой операции – поэтому вам нужно повторить этот шаг для каждого действия, которое вы хотите запретить изменение ориентации!

(На основе SDK 1.1)

Вы можете внести одинаковые изменения в код со следующей строкой (называемой активностью):

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

После того, как вы сделаете этот звонок, ваше приложение останется в ландшафтном (или портретном) режиме. Вы можете использовать один и тот же вызов (с другим перечислением ActivityInfo), чтобы сделать его чувствительным к перемещению ориентации снова.

В разделе « Разработка ориентированных на ориентацию приложений для Android » есть полная статья DevX по этой теме.

(ПРЕДУПРЕЖДЕНИЕ: поскольку я разместил эту ссылку, DevX установил регистрационную стену.)

Если вы устанавливаете либо AndroidManifest.xml либо setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); вы столкнетесь с проблемами с планшетами . Их естественная / стандартная ориентация – пейзаж.

Если вы действительно хотите полностью игнорировать изменения ориентации экрана, я бы использовал эту setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); стоимость. Я больше об этом рассказываю в вопросах переполнения стека.

Вот xml:

  

Вы можете определить свою активность в файле AndroidManifest.xml следующим образом:

 ` 

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

  

Добавьте это в свою деятельность:

android:configChanges="orientation|screenSize"

Вы хотите прочитать текущую ориентацию и сохранить ее таким образом на протяжении всей жизни своей деятельности, так что я сделал следующее, в конце onCreate:

 // choose an orientation and stay in it if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
  • Android: я не могу иметь ViewPager WRAP_CONTENT
  • Создание и совместное использование файла из внутреннего хранилища
  • Удаление изображения галереи после снятия снимка камеры
  • Как показать диалог, подтверждающий, что пользователь хочет выйти из Android-активности?
  • Как использовать 32-разрядные собственные библиотеки на 64-битном Android-устройстве
  • Huawei, logcat не показывает журнал для моего приложения?
  • Определение размера представления Android во время выполнения
  • Android SDK AsyncTask doInBackground не работает (подclass)
  • Как я могу получить событие в Android Spinner, когда выбранный выбранный элемент снова выбран?
  • Активность Android как диалог
  • Как сохранить изображение в базе данных SQLite
  • Interesting Posts

    Использование Ajax.BeginForm с ASP.NET MVC 3 Razor

    Цвет текущей вкладки TabWidget

    Пауза для всех задач, отличных от x ЦП

    Разница между applicationContext.xml и spring-servlet.xml в Spring Framework

    Переименовать ': 2f' to '-' в имена папок в Linux

    Переключение раскладки клавиатуры в Windows в глобальном масштабе

    Доступ к модифицированному закрытию (2)

    Что делает компилятор точно в срок (JIT)?

    Компас Android, который может компенсировать отклонение и шаг

    Как определить, когда fragment становится видимым в ViewPager

    Outlook. Как вы можете автоматически синхронизировать встречи из моего календаря Outlook с открытым календарем Outlook?

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

    Перезапустите службу Windows из командной строки

    Размер плохих данных на HD-окнах7

    Outlook начинает получать и отправлять письма в двух экземплярах и в трех экземплярах

    Давайте будем гением компьютера.