2010-05-21 11 views
2

J'utilise deux fichiers de disposition xml layoutPotrait.xml et layoutLandscape.xml.Lorsque le périphérique/émulateur est en mode portrait, je souhaite définir la vue du contenu avec layoutPortrait. fichier xml et quand je vais changer l'émulateur en mode paysage, je veux définir l'affichage du contenu avec le fichier layoutLandscape.xml. Comment puis-je atteindre cet objectif?Comment savoir comment la disposition des périphériques/émulateurs (paysage/portrait) est modifiée

+0

Si cela fonctionne pour vous s'il vous plaît accepter la réponse en cliquant sur la coche à gauche des upvotes – Janusz

Répondre

-4

Appuyez sur les touches Ctrl-F11 ou Ctrl-F12 de votre clavier. Voir Offical manual pour plus de commandes et de raccourcis clavier.

+0

S'il vous plaît lire la question avant de répondre. – Janusz

+0

Vraiment merci, mais je veux définir l'affichage du contenu avec un fichier de mise en page différent lorsque j'appuie sur Ctrl-F12.Comment puis-je le faire dans le code source ?? –

+0

J'ai lié un article montrant un exemple dans ma réponse ci-dessus, recherchez le code avec onConfigurationChange. –

2

Pour utiliser différentes mises en page pour des orientations différentes, placez-les dans les dossiers appropriés: voir Dev Guide on alternative resources (écran section Orientation). Pour plus d'informations sur le changement de disposition en fonction des changements d'orientation, voir l'article this.

4

Vous n'avez pas besoin de savoir si le périphérique a été modifié. Fournissez simplement des fichiers de mise en page pour toutes les mises en page que vous souhaitez utiliser dans les deux sens.

Si votre appareil Android est en mode paysage et que vous chargez une mise en page, le système Android recherchera si ce fichier de disposition existe dans le dossier/res/layout-land. S'il n'existe pas dans ce dossier, il chargera la mise en page à partir du dossier normal/res/layout. Donnez un nom identique aux fichiers et placez le fichier intitulé layoutPortrait.xml dans votre dossier/res/layout et le fichier layoutLandscape.xml dans un dossier/res/layout/land. Si le dossier n'existe pas, créez-le.

+0

Merci. Ça marche. –