2010-12-03 5 views
0

Dans ma méthode onCreate, je souhaite détecter l'orientation et définir une image d'arrière-plan appropriée.Problème lors de la détection de l'orientation du téléphone

je peux obtenir l'orientation comme ceci:

Display dis = getWindowManager().getDefaultDisplay(); 
    int orientation = dis.getOrientation(); 

Je l'ai testé cette fois sur le Galaxy S et le moment.

Quand je suis en mode portrait, retourne une valeur de 0. Quand je suis en mode paysage, cela renvoie une valeur de 1.

Cependant, la définition Configuration.ORIENTATION_LANDSCAPE a une valeur de 2 et define Configuration.ORIENTATION_PORTRAIT a une valeur de 1.

Donc, quand je tourne le téléphone en mode paysage, il me donne Configuration.ORIENTATION_PORTRAIT. Et quand je tourne le téléphone en mode portrait, il me donne Configuration.ORIENTATION_UNDEFINED.

Que se passe-t-il ???

J'utilise le niveau API 7

+0

duplication possible de [Vérifiez l'orientation sur le téléphone Android] (http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone) –

Répondre

1

Une chose que vous pouvez faire est de mettre juste le drawable du paysage dans un dossier /drawable-land/ et Android va tirer automatiquement en fonction du orientation. Plutôt que de compter sur cela, cependant, vous feriez mieux de faire une version paysage de la mise en page sous /layout-land/ qui a la version alternative comme arrière-plan.

Questions connexes