Comment l'orientation de l'application (paysage ou portrait) est-elle verrouillée?
J'ai essayé de figer l'orientation à l'aide:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Bien que l'affichage reste en orientation portrait, l'activité est encore recréé. Toute idée comment résoudre ce problème?
Comment l'orientation de la demande doit être verrouillé, tels que l'activité n'est pas recréée sur le changement d'orientation?
source d'informationauteur alex2k8
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, ne pas utiliser
setRequestedOrientation()
si vous pouvez l'éviter. Utiliser leandroid:screenOrientation
attribut dans votre<activity>
élément de manifeste à la place.Deuxième, vous aurez également besoin d'
android:configChanges="keyboardHidden|orientation"
dans votre<activity>
élément de manifeste pour empêcher la destruction/recréer le cycle.Un exemple plus spécifique de l'activité de la section de la AndroidManifest.xml pour une orientation portrait:
Où
android:screenOrientation
définit l'orientation de départ etandroid:configChanges
vides les événements qui déclenche le correspondant du cycle de vie des méthodes sur l'écran change.Essayez ceci:
1.- Régler l'orientation de l'écran de votre AndroidManifest.xml
Il devrait ressembler à ceci:
2.- Ajoutez ceci à votre void onCreate(ou où vous voulez) dans votre java Fichier d'Activité(Exemple: "MainActivity.java"):
Il devrait ressembler à ceci:
Maintenant l'écran l'habitude de se déplacer, même si la Rotation de l'Écran est activée dans l'Appareil.
La meilleure solution est d'utiliser les sauvés de l'instance.
Si vous êtes le verrouillage de l'orientation de l'écran, cela signifie que vous sont en train de forcer l'utilisateur à utiliser l'application en fonction des contraintes définies par vous. Il faut donc toujours utiliser onSaveInstanceState. Lire ce lien: http://developer.android.com/training/basics/activity-lifecycle/recreating.html