J'ai un TextView
dans ma demande. Je veux aligner le texte à droite. J'ai essayé d'ajouter:
android:gravity="right"
Mais ça ne marche pas pour moi.
Que pourrais-je faire de mal?
Je pense que vous faites ceci: android:layout_width = "wrap_content"
Si c'est le cas, faites ceci:android:layout_width = "match_parent"
En général,
android:gravity="right"
est différent deandroid:layout_gravity="right"
.Le premier affecte la position du texte lui-même dans la vue, donc si vous voulez qu'il soit aligné à droite, alors
layout_width=
devrait être soit"fill_parent"
ou"match_parent"
.La seconde affecte la position de la vue à l'intérieur de son parent, en d'autres termes - l'alignement de l'objet lui-même (zone d'édition ou vue texte) à l'intérieur de la vue parent.
la source
La meilleure solution est celle qui est la plus simple et celle qui modifie le moins le comportement de votre code .
Et si vous ne pouvez résoudre ce problème qu'avec 2 propriétés sur votre
TextView
?Au lieu de devoir modifier vos
LinearLayout
propriétés, cela peut peut-être modifier le comportement desLinearLayout
enfants?De cette façon, vous n'avez pas besoin de changer
LinearLayout
propriétés et le comportement, il vous suffit d'ajouter les deux propriétés suivantes à votre cibleTextView
:Quoi de mieux que de changer uniquement votre cible pour résoudre votre solution au lieu d'avoir une chance de provoquer un autre problème à l'avenir, en modifiant votre père cible? Pensez-y :)
la source
TextView
propriété? - Vous pouvez vérifier la propriété de la référence ici: developer.android.com/reference/android/view/…android:layout_gravity
est utilisé pour aligner la vue texte par rapport à la disposition parent.android:gravity
est utilisé pour aligner le texte à l'intérieur de la vue texte.Êtes-vous sûr que vous essayez d'aligner le texte à l'intérieur de la vue de texte vers la droite ou voulez-vous déplacer la vue de texte elle-même vers la droite par rapport à la disposition parent ou essayez-vous de réaliser les deux
la source
L'extrait de code suivant:
fonctionne très bien pour moi
la source
Si quelqu'un a encore besoin
la source
Assurez-vous que vous n'utilisez pas
android:layout_width="wrap_content"
si c'est le cas, il ne sera pas en mesure de définir la gravité car vous n'avez pas assez d'espace pour aligner le texte. Utilisez plutôtandroid:layout_width="fill_parent"
la source
Il est essentiellement utilisé dans la disposition linéaire, vous devez donc définir la largeur de TextView ou EditText comme
et
Lorsque vous travaillez dans la mise en page relative, utilisez
la source
Faire le (LinearLayout)
android:layout_width="match_parent"
et le TextViewandroid:layout_gravity="right"
la source
Si c'est le cas,
RelativeLayout
vous pouvez utiliserandroid:layout_toRightOf="@id/<id_of_desired_item>"
Ou
Si vous souhaitez aligner sur le
right
coin de l'appareil, l'endroitandroid:layout_alignParentRight="true"
la source
android_layout_gravity
se comportefloat:left|right|top|bottom
Alors que
android_gravity
travailler commetext_align:centre|left|right
Dans Android float est android_layout_gravity et text_align: est android_gravity.
Et android_layout_gravity s'applique par rapport au parent. où as android_gravity s'applique à son contenu enfant ou intérieur.
Remarque android_gravity ne fonctionne que lorsque sa vue est match_parent (lorsqu'il a de l'espace pour centrer).
la source
Ci-dessous fonctionne pour moi:
Veuillez noter les paramètres
android:layout_alignParentEnd
et lesandroid:textAlignment
paramètres du deuxième TextView.la source
Vous pouvez utiliser:
la source
cela devrait servir le but
android:textAlignment="textStart"
la source
Dans mon cas, j'utilisais
Relative Layout
pour unemptyString
Après avoir lutté là-dessus pendant une heure. Seulement cela a fonctionné pour moi:
layout_toRightOf
ou leslayout_toEndOf
deux fonctionne, mais pour mieux le supporter, j'ai utilisé les deux.Pour être plus clair:
C'est ce que j'essayais de faire:
Et c'était la sortie de l'émulateur
Disposition:
Remarquerez que:
android:layout_width="wrap_content"
travauxGravity
N'est pas utiliséla source
J'ai également rencontré le même problème et j'ai pensé que le problème se produisait car la disposition_largeur du TextView avait wrap_content. Vous devez avoir layout_width comme match_parent et l'androïde: gravity = "gravity"
la source
fait aligner le numéro un au centre à la fois horizontal et vertical.
la source
essayez d'ajouter
android:gravity="center"
dansTextView
la source
J'ai utilisé l'attribut "layout_alignRight" dans mon cas, dans le texte c'est:
Si vous voulez ajouter une marge droite, il suffit de définir l'attribut "Layout_Margin Right" sur "20dp" par exemple, dans le texte c'est:
la source