Interdire la rotation de l'écran
Pour interdire la rotation de l'écran, vous indiquerez à AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) que votre application ne doit pas réagir à la rotation en précisant simplement l'orientation que doit utiliser votre activité.
Cette information
concerne une activité. Il faudra donc répéter cette information
pour toutes les activités concernées !
Interdiction par AndroidManifest
Pour cela, il suffit d'ouvrir le fichier AndroidManifest.xml
Dans la balise activity de l'activité à bloquer sur une orientation précise, vous ajoutez l'attribut androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):screenOrientation="orientation"
ou orientation pourra prendre la valeur "portrait" ou "landscape".
Mettez cet attribut avant androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):label par exemple:
<activity
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):name=".XxxxxxActivity"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):screenOrientation="portrait"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):label="@string/app_name">
Attention à
bien refermer la balise activity si elle se fermait sur androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):label="@string/app_name">
et que vous voulez mettre votre ligne après celle-ci, reportez bien le
> sur votre androidscreenOrientation !
<activity
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):name=".XxxxxxActivity"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):label="@string/app_name"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):screenOrientation="portrait">
Interdiction par code
Il suffit de mettre cette ligne de code:
Pour rester en mode portrait:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Pour rester en mode paysage:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);