Orientation de l’écran de locking (Android)

Duplication possible:
Comment désactiver le changement d’orientation dans Android?

J’écris une application Android qui utilise des tabs avec des contenus différents (activités). Dans l’une de ces activités, je voudrais verrouiller l’orientation de l’écran sur le mode “Paysage”, mais dans les autres activités, je souhaite l’orientation normale (en fonction du capteur).

Ce que je fais maintenant c’est que j’appelle

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

lorsque je passe en mode paysage, et

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

quand je reviens aux autres activités. Cependant, cela ne semble pas fonctionner, toute l’application se bloque. Quelle est l’approche normale à ce problème?

Dans le manifeste, vous pouvez définir l’écran de l’écran sur paysage. Cela ressemblerait à quelque chose dans le XML:

  ...  

MyActivity est celui que vous souhaitez conserver dans le paysage.

La ligne android:configChanges=... empêche l’ onResume() , onPause() lors de la rotation de l’écran. Sans cette ligne, la rotation restra telle que vous l’avez demandée, mais les appels seront toujours effectués.

Remarque: keyboardHidden et orientation sont requirejs pour orientation .

J’avais un problème similaire.

Quand je suis entré

  

Dans le fichier manifeste, cette activité était affichée dans le paysage. Cependant, lorsque je suis revenu aux activités précédentes, ils étaient affichés dans lanscape même s’ils étaient mis en portrait. Cependant en ajoutant

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

immédiatement après que la section OnCreate de l’activité cible ait résolu le problème. Donc, j’utilise maintenant les deux méthodes.

dans le fichier manifeste Android de votre projet, trouvez la déclaration d’activité dont vous souhaitez fixer l’orientation et ajoutez le morceau de code suivant,

 android:screenOrientation="landscape" 

pour l’orientation paysage et portrait, ajoutez le code suivant,

 android:screenOrientation="portrait"