RelativeLayout: aligner la vue centrée horizontalement ou verticalement par rapport à l'autre vue
Est-il possible d'aligner une vue en XML dans un RelativeLayout centrée horizontale ou à la verticale selon un autre de voir déjà existante.
Par exemple: permet de dire il y a quelque chose comme ceci:
Le deuxième texte doit être affiché centré au-dessous de la première vue du texte:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="72dp"
android:text="dynamic text" />
<TextView
android:id="@+id/second"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView"
android:layout_marginLeft="43dp" <!-- Is there a rule to center it? -->
android:text="centered below text 1" />
</RelativeLayout>
Est possible de mettre en place quelque chose comme ça en XML? Est-il une règle que j'ai manqué? Je ne veux pas le calcul de la position par programme
source d'informationauteur sockeqwe
Vous devez vous connecter pour publier un commentaire.
Utiliser un autre parent de mise en page de ces points de vue et l'ajouter dans votre page principale(peut contenir d'autres choses si vous en avez)
J'ai une bien meilleure solution que l'on a accepté. PAS DE SUPPLÉMENT DE NIDIFICATION! Vous pouvez le faire par la combinaison de deux attributs à la plus petite de vue. si vous êtes de centrage à l'horizontale, vous pouvez utiliser les deux align_start & align_end pour l'agrandir. Assurez-vous que le texte de la gravité est centrée btw "android:gravity="centre". Pour l'alignement Vertical d'utiliser les deux align_top & align_bottom. ci-dessous est la modification de la mise en œuvre de votre mise en page.
Pas inutile de nidification comme la accepté de répondre.
Utiliser les éléments suivants qui vous convient le
Bonne solution est d'utiliser ConstraintLayout
J'ai essayé d'aligner un textview horizontalement au-dessous d'un bouton dans un RelativeLayout mais il n'était pas possible que align_bottom et layout_below n'a pas de bien jouer ensemble. Enfin, j'ai ramassé constraintLayout et a essayé de la même logique et cela a fonctionné comme un charme. voici le code ci-dessous.
Le résultat final est attaché ci-dessous
Faire this->
J'ai trouvé la solution:
Envelopper le contenu dans un autre RelativeLayout et puis vous pouvez placer ce LayoutWrapper où vous voulez: