2010-12-06 5 views
14

je voudrais créer une application Android (pour un comprimé) qui devrait être affiché uniquement dans l'orientation paysage, par exemple, l'application devrait ignorer les rotations de 90 °, mais supporter les rotations de 180 °. Ajout de android: screenOrientation = "paysage" dans le manifeste provoque l'application à ignorer toutes les rotations, (même les rotations à 180 °), c'est-à-dire faire pivoter l'appareil de 180 ° montre l'application à l'envers.Applications: rotations Désactiver de 90 °, mais de permettre des rotations de 180 °

Sans l'androïde: screenOrientation attribut mon application est affiché « correctement » dans les quatre positions. La rotation du périphérique de 180 ° inverse l'interface utilisateur verticalement ou verticalement. horizontalement.

Lorsque la rotation du dispositif, les messages journaux suivants sont créés (peut-être cela aide?):

[...]: INFO/WindowManager(1290): Setting rotation to 1, animFlags=0 
Rotation is a value between 0 and 3 representing the current orientation. 

succincts: Est-il possible d'activer une application pour soutenir les orientations du paysage?

+0

Je doute ... pourquoi voudriez-vous pour supporter le mode à l'envers, mais pas d'autres rotations? –

+0

@Mayra - la chose évidente qui vient à l'esprit est une application qui ne convient pas portrait et les appareils qui peuvent avoir des boutons «requis», port USB, etc. sur le côté (qui devient le «bas» dans une orientation horizontale forcée). – Squonk

+1

@janjonas - Je viens de passer environ une demi-heure à pirater avec ça et je ne peux pas le faire fonctionner pour moi. Android 2.3 fait la différence entre les orientations portrait et paysage normales et inverses. Cependant, vous pourriez peut-être l'utiliser lorsque vous l'utiliserez pour votre tablette. – Squonk

Répondre

17

La nouvelle orientation de l'écran sensorLandscape est apparemment destiné à cet effet.

Par exemple, vous pouvez faire:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 

Malheureusement, ce n'est disponible à partir de Android 2.3. Je suis actuellement à la recherche d'un moyen d'y parvenir sur Froyo.

+0

Merci pour votre réponse. À mon humble avis, il n'y a aucun moyen de le faire dans 2.2 – janjonas

+0

Avez-vous réussi à le faire sur 2.2? – ffleandro

+0

a travaillé pour moi sur une tablette 3.2.1, mais pas sur un téléphone 4.0.2 (en utilisant SCREEN_ORIENTATION_SENSOR_PORTRAIT) – SteelBytes

Questions connexes