Android: Efficace La Rotation De L'Écran De Manutention
Dans Android, lorsque l'orientation de l'écran change (entre paysage et portrait) de la onCreate
méthode est appelée à qui ,si ce n'est pas manipulé correctement, va recréer l'ensemble de l'activité lorsque le résultat est trop simplement changer la mise en page et de conserver toutes les mêmes informations.
Je sais de quelques méthodes pour résoudre ce problème, mais je suis intéressé par la façon la plus efficace.
1) Racontant l'manifeste que je m'occupe de le changement d'orientation en remplaçant la onConfigurationChanged()
méthode et la laisser vide.
2) remplacer onSaveInstanceState()
et enregistrer les données ici pour être repeuplée onCreate()
3) Remplacer onPause()
qui permettra de créer un ensemble de données et de les envoyer à onSaveInstanceState()
Évidemment, ce sont toutes les options, mais qui est une meilleure pratique (petites, moyennes, grandes quantités de données)
Merci
Si cette façon semble fonctionner très bien, je veux être en mesure de faire usage de l'auto-changement dans les mises en page à l'aide de la
res/layout-land
dossier. Sauf si bien sûr c'est trop compliqué pour une simple activité.Eh bien, cela va automatiquement modifier sa mise en page, il vous suffit de changer la contentview dans le code c'est tout.
OriginalL'auteur Sababado | 2012-01-25
Vous devez vous connecter pour publier un commentaire.
Certaines configurations de périphériques peuvent changer au cours de l'exécution (comme l'orientation de l'écran, de clavier, de la disponibilité et de la langue). Quand un tel changement se produit, Android redémarrage de l'Activité en cours (
onDestroy()
est appelé, suivie paronCreate()
).restaure son état précédent par le biais de l'Activité normale du cycle de vie, dans
qui Android appels
onSaveInstanceState()
avant qu'il détruitl'activité de sorte que vous pouvez enregistrer des données sur l'état de l'application. Vous
pouvez ensuite restaurer l'état au cours de
onCreate()
ouonRestoreInstanceState()
.Toutefois, vous pouvez rencontrer une situation dans laquelle le redémarrage de votre application et de la restauration d'importantes quantités de données peuvent être coûteux, et de créer une expérience utilisateur médiocre. Dans une telle situation, vous avez deux options:
Retenir les services d'un objet lors d'un changement de configuration
Permettre à votre activité pour redémarrer lorsqu'une modification de la configuration, mais avec un état de s'opposer à la nouvelle instance de votre activité.
Gérer le changement de configuration vous-même
Empêcher le système de redémarrage de votre activité lors de certains changements de configuration, mais recevoir un rappel lorsque les configurations changent, de sorte que vous pouvez mettre à jour manuellement votre activité en tant que de besoin.
Donc, en fonction de vos données de fonctionnement et de la côte de l'expérience de l'utilisateur avec l'application, vous pouvez choisir ce qui est le mieux pour vous..
EDIT: selon votre besoin pour juste changer la mise en page je pense que vous devez utiliser
onConfigurationChanged()
et faire les changements.OriginalL'auteur user370305