Comment rendre le sens du texte de droite à gauche
Je veux écrire du texte dans (de droite à gauche c'est à dire la langue arabe) dans un TextView. Mais je veux rendre le texte le sens d'écriture de droite à gauche. gravity:right
permettra d'aligner le texte à droite. Je veux justifier le texte de la droite vers la gauche ( pour rendre les mots et les numéros apparaissent dans l'ordre de saisie dans la ligne ) . comment ?
- Je crois que cela répond à votre question. Il est marqué comme étant correct... je ne l'ai pas testé pour vérifier qu'il est *tout à fait exact, mais il semble que cela devrait fonctionner. stackoverflow.com/questions/6302221/...
- comment définir Essayez d'ajouter un DROIT-À-GAUCHE de la MARQUE de caractère (\u200F) ?? cette >> tv.setText("\u200F Mon texte arabe");
- Je pense que oui, comme je l'ai dit, je n'avais pas essayé, mais qui ne ressemble à l'approche correcte
Vous devez vous connecter pour publier un commentaire.
Un autre moyen astucieux qui peut être utilisé dans les anciennes versions d'android et peut être utilisé n'importe où dans la chaîne de sorte qu'il est plus maniable, même dans la dernière version d'android, est d'inclure le de droite à gauche de la marque de ou même de gauche à droite marque dans la chaîne quand c'est nécessaire:
C'est comment c'est en bas:
La bonne chose à propos de cette méthode est que vous pouvez même l'utiliser après des signes de ponctuation comme (,{,[,! qui sont positionnés à droite incorrectement! exemples:
regardez comment ! est correctement positionné en deuxième ligne, il ya effectivement une RLM après elle, et vous pouvez les copier coller, même si c'est invisible.
La deuxième bonne chose, comme vous l'avez vu, c'est que vous pouvez utiliser cette méthode (ces char codes) dans tout système qui prend en charge RTL comme les navigateurs, word et ainsi de suite.
Viens de mettre cette propriété dans le TextView et tout ira séance d'entraînement juste fin, il détecte automatiquement votre texte et de modifier en conséquence
Attribute "textDirection" is only used in API level 17 and higher (current min is 13)
android:textAlignment="viewStart"
Trop tard , mais le
android:gravity="right"
travaillé.mis cette ligne dans xml pour textview :
Essayez d'utiliser
ou
Dans le cas de la normale modifier le texte cela va fonctionner
Mais dans le cas de champs de mot de passe ce n'est pas suffisant puis suivez ce;
android:textDirection="anyRtl"
au lieu d'utiliser simplementrtl
en outre à votre suggestion.essayer ce que cela a fonctionné pour moi
android:textDirection="rtl"
Ajoutez-les à votre editText:
PS:
android:textDirection
exige de l'API de niveau 17Utilisation
android:layoutDirection="rtl"
etandroid:textAlignment="viewStart"
pour faire de l'affichage de texte de droite à gauche.juste ajouter ma propre expérience avec ce genre de questions. dans mon cas, en plus de suggérer des solutions, j'ai aussi eu à remplacer l'anglais " personnage avec le RTL (dans mon cas en hébreu) représentation de caractère ״
À l'aide d'attributs comme ci-dessous dans mon code xml étrangement, j'ai reçu un texte de droite à gauche avec une ponctuation correcte. Mais ce n'est pas une solution parfaite pour les multi-langue du texte:
réglage ltr corrige les signes de ponctuation problèmes comme ayant point sur la droite au lieu de gauche.
la gravité de l'attribut rend le texte de droite à gauche.
meilleure façon textDirection pour TextView, Ne pas utiliser layoutDirection