Как повернуть мое приложение на 180 градусов вверх ногами при вращении устройства на 180 градусов вверх ногами? - PullRequest
11 голосов
/ 03 апреля 2012

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

Теперь я хочу повернуть его на 180 градусов вверх ногами, когда пользователь повернет устройство на 180 градусов вверх ногами, чтобы оно соответствующим образом отрегулировалось и отобразилось для пользователя. В настоящее время, если я поворачиваю устройство на 180 градусов вверх ногами, мое приложение не ' t соответственно отрегулируйте в соответствии с поворотом, чтобы он отображался в обратном порядке (снизу вверх), например: предположим, что в моей активности 2 текстовых поля сверху и 2 кнопки внизу, поэтому, если повернуть устройство на 180 градусов вверх ногами, действие не корректируется соответствующим образом, поэтому пользователь может видеть кнопки сверху, а текстовые поля внизу, что неправильно, он должен регулироваться / поворачиваться согласно повороту устройства и должен отображать текстовые поля вверху и кнопки внизу.

Пожалуйста, предоставьте ваши ценные решения для решения этой проблемы.

С уважением, Пикс

Ответы [ 2 ]

18 голосов
/ 11 апреля 2013

указать:

android:screenOrientation="sensorLandscape"

в вашем AndroidManifest.xml. Это преобразует приложение между пейзажем и reverseLandscape.

6 голосов
/ 03 апреля 2012

В вашем файле AndroidManifest.xml вам необходимо настроить <activity> для использования ориентации от датчика.Это должно быть по умолчанию, но вы можете принудительно установить ориентацию датчика для всех 4 возможных ориентаций с помощью android:screenOrientation="fullSensor".См. http://developer.android.com/guide/topics/manifest/activity-element.html#screen

РЕДАКТИРОВАТЬ: Если вы хотите включить все, кроме одной ориентации, вы можете отключить эту ориентацию, перехватывая событие изменения ориентации и отменяя его в вашем Activity:

public void onConfigurationChanged(Configuration config) {
  if (config.orientation != Activity.ORIENTATION_PORTRAIT) {
    setRequestedOrientation(config.orientation);
  {
}

(Это не в моей голове, но я думаю, что это работает, или что-то вроде этого).

Вы должны указать Android, чтобы приложение также обрабатывало изменения ориентации в вашем <activity> с android:configChanges="orientation".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...