2009-12-18 2 views
3

У меня есть функция предварительного просмотра камеры, которая вынуждена оставаться в ландшафтном режиме.Получение ориентации устройства?

Есть ли способ определить текущую ориентацию телефона (а не ориентацию экрана).

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

Благодаря

+0

Вы посмотрели на это: http://www.workingfromhere.com/blog/2009/03/30/orientation-sensor-tips-in-android/? –

+0

Спасибо, Натан, это решение. Кажется, что он хорошо работает (заменил классы устаревших классов датчиков). Хотя это и работает, я надеялся, что у них будет более легкое решение, например context.whatsMyCurrentOrientation(). Ну что ж! благодаря – Mark

ответ

0

Вы также можете осуществить Application.onConfigurationChanged() реагировать на изменения ориентации без регистрации SensorEventListener. Это может быть проще, если вы хотите настроить макет в зависимости от ориентации телефона.

2
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
     { 
      p.set("orientation", "portrait"); 

      .... 
     } 
     if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
     { 
      p.set("orientation", "landscape"); 
      .... 
     } 
Смежные вопросы