Comment puis-je spécifier différentes mises en page pour les orientations portrait et paysage?

StackOverflow https://stackoverflow.com/questions/2124046

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?

Était-ce utile?

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/

  1. dossier de clic droit,
  2. Nouveau -> Fichier de ressources Android
  3. en qualifications disponibles, sélectionnez Orientation,
  4. ajouter à qualifier choisi
  5. dans l'orientation de l'écran, sélectionnez Paysage
  6. 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top