2011-08-22 15 views
6

¿Hay alguna manera de establecer un modo de paisaje para toda la aplicación, no agregando android:screenOrientation="portrait" a cada actividad en AndroidManifest?Deshabilitar el modo de paisaje para una aplicación completa

+2

Así no se supone que debes manejar este tipo de cosas en Android. A menos que tenga una muy buena razón para hacerlo, recomendaría hacer esto en el manifiesto. – Codeman

Respuesta

10

Aquí es lo único que se me ocurre. Escribir una clase que amplía la actividad y ponga el siguiente en esa clase:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Entonces, en lugar de extender la actividad en sus otras clases, extender la nueva clase.

+0

¿Dónde pones esto, en el método oncreate? – theJerm

+1

Sí, puede ponerlo en el método onCreate de la superclase. No olvides llamar a super.onCreate desde tu clase extendida. – SBerg413

+0

Gracias por su respuesta. – theJerm

0

Puede tratar de poner ese atributo en el nodo de su manifiesto. No sé si eso es compatible. Y si no tengo miedo de ponerlo en cada uno de ustedes va a ser la siguiente manera más fácil.

Es posible que pueda lograrlo haciéndose una actividad personalizada que amplíe la actividad y establezca los indicadores de ventana para que sean retratos en onCreate. Luego, con todas sus otras actividades, podría extender su CustomActivity en lugar de simplemente Activity.

7

Una forma programática de hacer esto, que se me ocurre, es crear una súper clase que amplíe la actividad y amplíe todas tus clases desde allí.

tener la configuración más adelante en la super clase en un método protegido y llamar super.xxx() para iniciar la siguiente:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

En caso de que lo que una actividad específica de una manera diferente que simplemente puede anular este .

[No he probado aún, pero por el conocimiento de la programación orientada a objetos esto funciona]

+2

a veces, cuando se inicia una actividad con este método, puede saltar rápidamente de paisaje a retrato, así que desaconsejaría esto. – Dori

Cuestiones relacionadas