Comment obtenir OrientationEventListener.onOrientationChanged () pour être appelé que lorsque tourne l'interface utilisateur [double]

StackOverflow https://stackoverflow.com/questions/5810988

Question

Possible en double: Comment rotation puis-je détecter écran

Bonjour,

Tout ce que je veux faire, est de détecter un changement de rotation dans ma demande. Cependant, je pense avoir trouvé un bogue dans le système Android. Si vous lisez ceci:

http://developer.android.com/guide /practices/optimizing-for-3.0.html#Landscape

Il dit que chaque fois que c'est appelé et est appelé Activity.onCreate (), le dispositif change d'orientation, Activity.onDestroy (). Donc, je me suis dit que je pouvais utiliser la méthode Display.getRotation () pour comprendre ma nouvelle orientation dans la méthode Activity.onCreate (). Cependant, j'ai découvert que, pour une raison onCreate () (ou même onResume ()) est jamais appelé si vous retournez l'appareil rapidement de 180 degrés. Je l'ai prouvé en utilisant ce pain grillé messages. Mon message de pain grillé dans mon Activity.onCreate () (ou dans Activity.onResume ()) apparaît avec 90 tours de degré, mais pas avec 180 degrés flips de l'appareil. Ainsi, le point est, la demande dans l'article ci-dessus est pas toujours vrai.

Alors j'ai décidé d'utiliser OrientationEventListener.onOrientationChanged (). Cela fonctionne, mais je ne veux pas onOrientationChanged () à appeler à plusieurs reprises dans mon application (il est appelé à chaque changement de degré unique de l'appareil). Cela va ralentir tout ce que je fais. Je veux seulement qu'il soit appelé quand je tourne suffisamment d'écran pour obtenir l'image sur l'écran pour faire pivoter afin que je puisse savoir si je suis à rotation_0, rotation_90, rotation_180 ou rotation_270.

Ceci est un xoom bien sûr.

Toutes les suggestions

Était-ce utile?

La solution

ANSWERED détail .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top