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

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

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 на сервер?
  • android.view.InflateException: двоичный файл XML: ошибка раздувания fragmentа classа
  • Android Volley - как изолировать запросы в другом classе
  • Android SDK: получить изображение предварительного просмотра камеры без его отображения
  • Как resize текста заголовка в панели действий?
  • размер изображения (drawable-hdpi / ldpi / mdpi / xhdpi)
  • Как передать данные от 2-го действия до 1-го действия при нажатии? - Андроид
  • Android-зал для обработки перенаправления
  • Как отклонить индикатор выполнения, даже если нет представления о заполнении в FirebaseListAdapter?
  • Активность камеры, возвращающая нулевой андроид
  • AlphabetIndexer с пользовательским адаптером, управляемый LoaderManager
  • Interesting Posts

    Сделать неизменным объект Java

    Sass – Манипулировать унаследованным свойством?

    Передача растрового изображения между двумя действиями

    Как загрузить файл .mp3 из Dropbox?

    Bower: «команда не найдена» после установки

    jQuery переопределить отображение сообщения об ошибке проверки по умолчанию (Css) Всплывающее / всплывающее окно

    Может кто-нибудь, пожалуйста, объясните async / wait?

    Получите разницу между датами в виде недель, месяцев, кварталов и лет

    Модернизация и RxJava: как объединить два запроса и получить доступ к обеим результатам?

    Как создать фильм из нескольких .bmp-файлов под Linux?

    Visual Studio: как показать все classы, унаследованные от базового classа?

    Проводник Очень медленный и нереактивный

    Как я могу скопировать пользовательский словарь Word 2000?

    Как работает удаленная программа, например Team Viewer?

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

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