Rotation de l'écran

 

Rien de plus désagéable dans un jeu que de voir celui-ci s'arrêter et reprendre n'importe quand, n'importe où, alors que vous n'êtes plus dans le feu de l'action !

C'est pourtant ce qui arrive pour le moment lorsque votre appareil fait une rotation de 90° ou, pour certains appareils, lorsque vous sortez le clavier (ce qui provoque aussi une rotation automatique de l'écran orienté dans le sens du clavier).

En effet, Android relance les activités (arrêt de l'activité puis relance en respectant le cycle de vie d'une activité) pour prendre en compte ce genre de modification. Il s'agit de la solution la plus simple, ainsi, l'activité aura les nouveaux paramètres et pourra initialiser le contenu de l'écran suivant le nouvel espace disponible sur l'écran.

 

Il existe différentes solutions pour traiter la rotationde l'écran dans une activité:

- Connaître l'orientation de l'écran

- Interdire la rotation (c'est radical !)

Interdiction par AndroidManifest

Interdiction par code

- Laisser Android gérer la rotation mais sauver l'état de l'activité (classique)

layout-land

Autres solution

Destruction de l'activité lors de la rotation

Les problèmes de cette solution

- Traiter personnellement la rotation

Indiquer à Android que l'activité prend en charge la rotation de l'écran

Prendre en compte le changement de configuration dans l'activité

Exemple de code

 

 

Image non trouvée !Il n'est pas impossible qu'une rotation à 180° ne soit pas indiquée par l'appareil (téléphone la tête en bas)