Comment puis-je spécifier différentes mises en page pour les orientations portrait et paysage?
-
22-09-2019 - |
Question
J'ai vu des références à pouvoir spécifier deux fichiers xml de mise en page séparés pour une activité, un pour Portrait et un pour le paysage. Je n'ai pas été de trouver des informations sur la façon de le faire bien. Comment puis-je spécifier pour chaque activité fichier xml est son mode portrait et qui est la disposition du paysage?
Est-il également possible de spécifier différentes dispositions pour différentes tailles d'écran? Si oui, comment cela se fait?
La solution
Créer un layout-land
répertoire et mettre la version du paysage de votre fichier XML de configuration dans ce répertoire.
Autres conseils
Il suffit de le placer sous des dossiers séparés avec des noms différents en fonction de l'orientation et de la résolution, l'appareil sélectionne automatiquement la bonne pour ses paramètres de l'écran
Plus d'infos ici:
http://developer.android.com/guide/practices/screens_support.html
sous la rubrique « qualifications du répertoire des ressources pour la taille de l'écran et de la densité »
Pour les amoureux de la souris Je dis un clic droit sur le dossier des ressources et Add new resource file
et de qualifications disponibles, sélectionnez le orientation
:
Mais encore, vous pouvez le faire manuellement par exemple, en ajoutant le sous-dossier « mise en terre » à
"Votre-projet-répertoire \ app \ src \ Main \ res"
depuis, tout fichier layout.xml dans ce sous-dossier ne fonctionne que pour le mode paysage automatiquement .
Utilisez "schéma de port" pour le mode portrait.
Juste un rappel:
Supprimer orientation
d'attribut android:configChanges
pour l'activité dans votre fichier xml
manifeste si vous l'avez défini:
android:configChanges="orientation|screenLayout|screenSize"
Créer un nouveau layout-land
de répertoire, puis créer un fichier xml
avec le même nom dans layout-land
comme il était répertoire layout
et aligner là votre contenu en mode Paysage.
Notez que id du contenu dans les deux xml
est la même.
Ou utilisez ceci:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Add your UI elements inside the inner most linear layout -->
</LinearLayout>
</ScrollView>
Je pense que la meilleure façon dans les dernières versions Android est en allant en mode Création d'un XML (pas de texte).
Ensuite, dans le menu, sélectionnez l'option - Créer paysage Variation. Cela va créer un xml paysage sans aucun tracas en quelques secondes. La dernière version Studio Android vous permet de créer une vue paysage tout de suite.
J'espère que cela fonctionne pour vous.
La dernière ligne ci-dessous est un exemple d'application de deux quantificateurs: paysages et la plus petite largeur de l'écran (600dp). Mettre à jour 600dp avec ceux dont vous avez besoin.
res/layout/main_activity.xml # For handsets
res/layout-land/main_activity.xml # For handsets in landscape
res/layout-sw600dp/main_activity.xml # For 7” tablets
res/layout-sw600dp-land/main_activity.xml # For 7” tablets in landscape
Le cas ci-dessus dimens et
res/values/dimens.xml # For handsets
res/values-land/dimens.xml # For handsets in landscape
res/values-sw600dp/dimens.xml # For 7” tablets
res/values-sw600dp-land/dimens.xml # For 7” tablets in landscape
A métriques de dispositifs utiles: https://material.io/tools/devices/
- dossier de clic droit,
- Nouveau -> Fichier de ressources Android
- en qualifications disponibles, sélectionnez Orientation,
- ajouter à qualifier choisi
- dans l'orientation de l'écran, sélectionnez Paysage
- Appuyez sur OK
Android Studio 3.4.1, il ne crée plus dossier layout-land
. Il va créer un dossier et mettre deux fichiers mise en page ensemble.
moyen le plus rapide pour Android studio 3.x.x
1.Go à l'onglet conception de la mise en page d'activité
2.At haut, vous devez appuyer sur l'orientation pour le bouton d'aperçu, il y a une option pour créer une mise en page du paysage (vérifier l'image), un nouveau dossier sera créé en tant que votre fichier de mise en page XML pour cette orientation particulière