Orientation de l'écran et valeurs dans le fichier manifest.xml
Je veux utiliser toutes les activités de mon formulaire en portrait ou en paysage.
Lorsque l'utilisateur de sélectionner l'orientation - c'est valable pour toutes les activités.
Essayé avec "derrière" l'option de l'orientation. Selon Google, l'orientation dépendra de l'activité précédente.
Ma première activité utilisation setRequestedOrientation pour définir la sélection de l'orientation de l'utilisateur.
Prochaines activités doivent suivre la même orientation.
Dois-je mettre setRequestedOrientation dans leur code de trop? Ou relly sur le "derrière" paramètre dans manifet? Mettre setRequestedOrientation peut être la cause onCreate de nouveau?
Mise à JOUR:
Essayé le "portrait" et setRequestedOrientation() - resilt si onCreate a appelé 2 fois.
Le problème est dans la prochaine activité -> en raison de "portrait" dans la première activité - android commencé à côté de l'activité avec la même orientation. Il ignore "paysage" de l'orientation qui a été mis par moi 🙁
source d'informationauteur Kostadin
Vous devez vous connecter pour publier un commentaire.
Si vous voulez avoir une orientation fixe pour vos activités, alors vous pouvez utiliser-
android:screenOrientation="portrait"comme un attribut de l'activité dans ce manifeste. Mais si vous souhaitez définir l'orientation d'exécution en fonction de ce qui était l'orientation précédente, tandis que le lancement de l'application, vous devez vérifier l'orientation précédente dans
onCreate()
puis définir une valeur par programmation il lui-même à l'aide desetRequestedOrientation()
Mise à JOUR:
Comme indiqué par @.co.tt utilisation
android:screenOrientation="sensorPortrait"
pour une meilleure prise en charge sur les tablettes.Pour plus de détails sur les différentes valeurs pour
android:screenOrientation
et ce que chacun d'entre eux, regarder les docs:https://developer.android.com/guide/topics/manifest/activity-element.html#screen
Le faire par programme, par exemple dans une Activité de la classe de base
J'ai essayé de travail mobile et tablette. utiliser de quelqu'un portrait ou paysage.
manifest.xml à l'intérieur de l'application de la balise
ou
Pour gérer les changements dans l'orientation, ajoutez la ligne suivante dans
AndroidManifest.xml
:android:configChanges="orientation|screenSize"
en vertu de
<activity>
balise comme indiqué ci-dessous:-Note: à Chaque fois qu'il y a un changement dans la configuration, comme par exemple
orientation
screenLayout
screenSize
etc., l'activité est redémarré et sesonCreate
méthode est appelée. Pour éviter cela, nous devons traiter tous les changements dans la configuration.De mon expérience, je le recommande à setRequestedOrientation dans chaque activité dans la méthode onCreate, onCreate ne sera pas appelé de nouveau, c'est sûr.
Pour l'instant j'ai mis vérifier dans onCreate:
Quand j'entre dans oncreate et de l'orientation de l'écran n'est pas souhaité en sortie.
Quand je rentre dans onCreate et de l'orientation de l'écran est désiré, - poursuivre l'initialisation.
Cette mise à jour corrige la situation sans avoir besoin de garder async tâche relative à l'activité et vérifiez de nouveau l'activité.
Bien sûr, toutes les fonctions: démarrage,onResume,onPausde,onStop... vérifier ce drapeau pour éviter exception de pointeur null.
aller à l'Android l'éditeur de Manifeste , là-bas, vous verrez MainActivity.java
cliquez sur elle , pour la droite, vous verrez une nouvelle fenêtre: faites défiler vers le bas et choisissez sélectionner l'orientation "portrait"