Texte/Mise en page d'Alignement dans Android (textAlignment, gravité)
Quelle est la différence entre android:textAlignment
et android:gravity
?
Vous devez vous connecter pour publier un commentaire.
Quelle est la différence entre android:textAlignment
et android:gravity
?
Vous devez vous connecter pour publier un commentaire.
Tout ce que je peux voir, c'est que le textAlignment est un membre de la Classe de la Vue et de la gravité est le membre de TextView classe. Donc, pour le TextView et de ses sous-classes, vous pouvez utiliser la gravité alors que vous pouvez utiliser le textAlignment pour tous les points de Vue.
Comme le TextView et de ses sous-classes besoin d'un peu plus de texte-l'alignement des entités, de sorte que vous pouvez le voir il ya plus d'options de gravité où dans textAlignment il y a seulement des options de base. Même si c'est seulement mon avis parce que je n'ai pas trouvé de documentation claire sur la différence.
Vous pouvez voir ces deux liens de la documentation: textAlignment et la gravité.
Avec l'API 15,
android:textAlignment
peut pas le résultat souhaité. L'extrait de code ci-dessous tente de centre le premierTextView
objet à l'aide deandroid:textAlignment="center"
. La seconde utiliseandroid:gravity="center_horizontal"
. LetextAlignment
n'a pas d'effet alors que la gravité fonctionne très bien. Avec l'API 17+,textAlignment
centres le texte comme prévu.Pour être certains que votre texte est aligné correctement avec toutes les versions, j'irais avec la gravité.
Résultant de la mise en page de l'API de 15:
Résultant de la mise en page de l'API de 17+:
android:textAlignment
est uniquement disponible pour les API 17+, c'est pourquoi il n'y a pas d'effet sur les versions inférieures.Autant que je l'ai vu textAlignment semble être utilisé.
Par sa description, il doit faire à droite ou à gauche de l'alignement.
La gravité semble être une amélioration de la textAlignment.
Un autre point qui n'est pas explicitement mentionné:
Si votre application a RTL soutien désactivé avec, par exemple,
android:supportsRtl="false"
dans le manifesteapplication
balise, puisView
textAlignment
ne fonctionne pas pour le texte de positionnement, tout enTextView
gravity
œuvres.Encore une autre raison de préférer
gravity
.