PDA

Ver la Versión Completa : Se puede programar la orientacion de la pantalla?


wolfstain
30/06/12, 22:22:11
Saludos, he visto que hay unas aplicaciones en android que bloquean la orientación a una sola (landscape) o (portrait), lo que pasa es que tengo una tablet china con un rom no muy decente, y no me corre la rotacion automaticae, pero con estas aplicaciones puedo poner la opcion de (landscape automatico) y ahi si por lo menos tengo 2 posiciones de rotacion aunque sean en landscape.

Mi tablet tiene 4 puntos de rotacion: portrait, inverse portrait, landscape, e inverse landscape, queria saber si hay alguna forma de crear una aplicacion que me restringa a 2 puntos de rotación (landscape y portrait) como si solo tuviera dos puntos de rotación, o si se puede programar, ya que es la unica forma que veo de que funcione de forma decente la orientación...

Gracias por su ayuda.

kriogeN
01/07/12, 12:14:10
Saludos, he visto que hay unas aplicaciones en android que bloquean la orientación a una sola (landscape) o (portrait), lo que pasa es que tengo una tablet china con un rom no muy decente, y no me corre la rotacion automaticae, pero con estas aplicaciones puedo poner la opcion de (landscape automatico) y ahi si por lo menos tengo 2 posiciones de rotacion aunque sean en landscape.

Mi tablet tiene 4 puntos de rotacion: portrait, inverse portrait, landscape, e inverse landscape, queria saber si hay alguna forma de crear una aplicacion que me restringa a 2 puntos de rotación (landscape y portrait) como si solo tuviera dos puntos de rotación, o si se puede programar, ya que es la unica forma que veo de que funcione de forma decente la orientación...

Gracias por su ayuda.

En Android (al menos hasta GB) sólo existe Landscape y Portrait (al contrario que en IOS que si que existen los otros 2 también). Lo que ocurre es que algunas ROMs (por ejemplo las CM) también incorporan el Inverse Portrait y el Inverse Landscape (ellos lo llaman rotación 180º y 270º). Generalmente todos los móviles y tablets por defecto traen el Portrait y los 2 Landscape fijos y sin poderse configurar.

Así que basicamente, si configuras una aplicación para que funcione en Portrait si tu tablet admite Portrait e Inverse Portrait funcionará en los 2 modos, y sólo puedes configurarlo para que no lo haga en la propia tablet, y si trae la opción, en la aplicación no puedes.

Supongo que tarde o temprano (si es que no lo soportan ya con ICS o con JellyBean) añadirán la opción de los otros 2 modos, más que nada, porque IOS si los soporta y puedes configurar una aplicación para que funcione en cualquier combinación de los 4 modos, aunque luego Apple te obliga en el caso del iPad a que como mínimo funcionen los 2 modos de Landscape.

Puedes hacerlo en "modo bestia", apoyandote en el sensor de rotación, y si tienes girada la tablet 180º (Inverse Portrait) que no muestre nada y no te deje hacer nada, pero eso no es muy de fiar, sobre todo si no tienes el sensor bien calibrado.

LeiNaD_87
02/07/12, 21:55:18
Tienes la opción de fijar las posiciones en el manifiest.xml. Si lo quieres hacer de forma dinámica, por ejemplo dandole a un botón, o en función de determinadas condiciones ( tamaño de la pantalla, resolución... ) puedes usar el siguiente método dentro de una Activity:

this.setRequestedOrientation(ActivityInfo.SCREEN_O RIENTATION_PORTRAIT);Con
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDispla y();
int orientation = display.getRotation();puedes obtener la orientación de la pantalla. Juntando ambas, puedes hacer un bonito switch que cuando se ponga en una posición no deseada, fuerces a la que tu quieras. Todo esto tienes que hacerlo en en el onChangedSettings de una Acivity.


Salu2!!