46 votes

La césure dans Android

Dans le cadre de l'internationalisation d'une application Android, j'ai été confronté à la nécessité de mettre dynamiquement en forme les mots ou les traits d'union à la bonne position.

Toutes mes chaînes de caractères sont externalisées dans des fichiers strings.xml mais je n'ai trouvé aucune documentation sur la césure dans Android.

J'aimerais pouvoir suggérer des positions de césure, comme je peux le faire dans LaTeX :

http://en.wikipedia.org/wiki/Hyphenation_algorithm

Mais je n'ai pas trouvé d'indication si cela est possible. Y a-t-il quelque chose dans le cadre que j'ai manqué ? Que font les autres personnes, par exemple avec les chaînes de caractères japonaises qui n'ont pas de position évidente pour interrompre une phrase ? Ajoutez-vous simplement des espaces aux positions correctes ?

Je pourrais modifier dynamiquement la taille de la police pour l'adapter à certaines mises en page, mais cela ne fonctionne pas pour les messages plus longs qui s'étendent sur plusieurs lignes. Que faire ?

2 votes

Android respecte-t-il le caractère soft-hyphen ? (U+00AD)

0 votes

J'ai eu des problèmes similaires avec le coréen et d'autres langues où les mots isolés sont énormes. Je suis donc intéressé par une réponse. Une question pourrait être : est-il acceptable de briser le mot en premier lieu ?

0 votes

@anon oui, un caractère de trait d'union doux pourrait être intéressant. Je vais vérifier cela.

-2voto

iarwain01 Points 388

setEllipsize peut être utile si cette erreur est encore corrigée.

1 votes

Bien que cela aide dans certains cas, je veux vraiment que le texte entier soit visible, mais juste enveloppé/hyphénisé au bon endroit .

0 votes

Je n'ai pas encore utilisé l'ellipsizing, mais je pensais qu'il montrait le texte entier. Je n'ai pas d'idée sur le trait d'union à l'endroit voulu par contre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X