2012-04-03 30 views
10

He desarrollado una aplicación y he configurado su orientación en Paisaje para que siempre se muestre en la vista horizontal del dispositivo.Cómo rotar mi aplicación 180 grados boca abajo al girar el dispositivo 180 grados al revés?

Ahora quiero girarlo 180 grados al revés cuando el usuario gira el dispositivo 180 grados boca abajo para que se ajuste adecuadamente y se muestre al usuario correctamente. En este momento si estoy girando el dispositivo 180 grados boca abajo, Mi aplicación no lo hace No se ajusta según la rotación, por lo que se mostrará en reversa (de abajo hacia arriba) por ejemplo: supongamos que mi actividad tiene dos campos de texto en la parte superior y dos en la parte inferior, así que si gira el dispositivo 180 grados boca abajo, La actividad no se ajusta en consecuencia, de modo que el usuario puede ver los botones en la parte superior y los campos de texto en la parte inferior, lo que es incorrecto, debe ajustarse/rotar según la rotación del dispositivo y debe mostrar campos de texto en la parte superior y botones en la parte inferior.

Proporcione sus valiosas soluciones para resolver este problema.

Saludos, Piks

+0

hei ,, realmente quiero lo opuesto a su pregunta ,, no quiero que se voltee 180. ¿Cómo lo hizo? ,, –

Respuesta

5

en su archivo AndroidManifest.xml, tiene que configurar el <activity> utilizar la orientación del sensor. Este debería ser el predeterminado, pero puede forzarlo a las orientaciones del sensor, para las 4 orientaciones posibles, con android:screenOrientation="fullSensor". Ver http://developer.android.com/guide/topics/manifest/activity-element.html#screen

EDIT: Si desea habilitar todas menos una orientación, se puede desactivar que la orientación al interceptar el evento de cambio de orientación y sofocar en su Activity:

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

(Esta es la parte superior de mi cabeza, pero creo que funciona, o algo así.)

Necesita decirle a Android que permita que la aplicación también maneje los cambios de orientación en su <activity> con android:configChanges="orientation".

+0

Gracias por sus valiosas entradas, pero parece que no es compatible con Android 2.1 api nivel 7 . ¿Hay alguna forma de soporte en 2.1 api nivel 7? Y no quiero rotar mi aplicación en modo retrato, así que necesito corregir la orientación de la aplicación en Paisaje, pero debería permitirme girar 180 grados al revés. – piks

+0

"sensor" funciona también, pero es posible que no permita la orientación inversa en algunos dispositivos. Editaré mi respuesta con una forma de excluir una orientación. –

+0

El código anterior no funciona como se esperaba, después de rotar el dispositivo 180 grados, la actividad no se vuelve a dibujar para mostrarse según la rotación del dispositivo. – piks

13

especifique:

android:screenOrientation="sensorLandscape" 

en su AndroidManifest.xml. Esto transformará la aplicación entre landscape y reverseLandscape.

+0

Después de pasar por 10-12 respuestas y después de pasar 2-3 horas, esta respuesta resolvió mi problema en un segundo. –

+0

¡Gracias, esto funciona! –

Cuestiones relacionadas