2013-08-06 5 views
1

Есть ли какой-либо способ в Android узнать изменение ориентации устройства после того, как мы позвоним setRequestedOrientation, я пробовал следующие способы.Способ изменения ориентации устройства после вызова `setRequestedOrientation`

  1. getResources().getConfiguration().orientation
  2. OrientationEventListener
  3. Display getOrient = getWindowManager().getDefaultDisplay().getRotation();

Но все вышеперечисленные методы дают одинаковые значения, даже после того, как изменение ориентации устройства.
Может кто-то попросит вас предложить способ, которым мы можем найти изменение ориентации устройства после того, как мы позвоним setRequestedOrientation.

+0

Вы нашли решение? имеют ту же проблему. Спасибо – CicPot

+0

У меня такая же проблема. –

ответ

3

Может быть обходной: Ручка onOrientationChanged степени от OrientationEventListener добавлен в currente контекст. Например:

final OrientationEventListener orientationEventListener = new OrientationEventListener(getApplicationContext()) { 

    @Override 
    public void onOrientationChanged(final int orientation) { 
     Log.i("orientation_test", "orientation: " + orientation); 
    } 
}; 

orientationEventListener.enable(); 

Добавить и включить его при onResume и отключить при onPause of Activity, например.

0

Это должно работать:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
    // Do something 
else 
    // Do something else 
+0

Как я уже упоминал в моем вопросе «метод getConfiguration(). Orientation не возвращает правильное значение ориентации при изменении ориентации. – User7723337

Смежные вопросы