2011-05-08 16 views
8

¿Cómo puedo hacer que mi aplicación Android sea horizontal o vertical pero sin las direcciones inversas?Android - Bloquear la orientación en dos direcciones solo

Lo que significa que quiero habilitar SCREEN_ORIENTATION_PORTRAIT y SCREEN_ORIENTATION_LANDSCAPE pero para deshabilitar SCREEN_ORIENTATION_REVERSE_LANDSCAPE y SCREEN_ORIENTATION_REVERSE_PORTRAIT.

Gracias

+0

estoy teniendo el mismo problema, has encontrado ninguna solución para esto ???? – Sam

Respuesta

0
+0

Cuando se llama al método Activity.onConfigurationChanged, obtengo solo '1' o '2', el mismo valor para el retrato o para el retrato en reversa. Traté de usar Activity.setRequestedOrientation para cambiar la orientación a vertical o paisaje no en reversa y funcionó. El problema es que Activity.onConfigurationChanged nunca se vuelve a llamar. – Yaniv

+0

¿Qué quiere decir con onConfigurationChanged nunca se vuelve a llamar? ¿Quieres decir hasta que el programa termine de ejecutarse? – Gallal

+1

Se llamó cuando causé la orientación por primera vez, y luego, como lo intenté varias veces, nunca se volvió a llamar. Creo que esto se debe a que el método setRequestedOrientation(). – Yaniv

1

que tenían la misma petición problema/función en mi aplicación de la cámara, y encontramos este mensaje:

android camera surfaceview orientation

En changeRotation acaba de comentar ORIENTATION_PORTRAIT_INVERTED y ORIENTATION_LANDSCAPE_INVERTED, y crear un método rotateViews(int degrees) para girar todo de las imágenes (botones) de su diseño al cambiar entre paisaje/retrato normal.

Además,

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

funcionó mejor para mí que

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
+1

No puede combinar valores ActivityInfo.SCREEN_ORIENTATION_ * juntos (como indicadores), ya que representan números simples del 0 al 14 (simplemente no son indicadores). – Robyer

Cuestiones relacionadas