Поиск по этому блогу

суббота, 1 февраля 2014 г.

Android. Как заблокировать автоповорот экрана

Перехват события разворота экрана


Для того, чтобы самому перехватывать событие, которое будет происходить при автоповороте экрана устройства необходимо в файле AndroidManifest.xml в соответствующей активити прописать следующий атрибут

android:configChanges="orientation">

Описание активити будет выглядеть так

<activity android:name="MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation">
</activity>

Теперь необходимо в файле java класса соответствующей активити переопределить метод

onConfigurationChanged

и в этом методе задать какую ориентацию экрана мы хотим

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Метод будет выглядеть вот так

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

Задаем ориентацию экрана при запуске приложения


Если вы хотите, чтобы активити всегда была в определенной ориентации, то необходимо в файле AndroidManifest.xml для соответствующей активити прописать атрибут

android:screenOrientation="portrait">

Вот так будет выглядеть описание активити

<activity android:name="MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation"
          android:screenOrientation="portrait">
</activity>

Как это работает в настоящем приложении вы можете посмотреть тут



Комментариев нет:

Отправить комментарий