Il ne semble pas possible d'ajouter une nouvelle ligne /n
à une chaîne de ressources XML. Y a-t-il une autre façon de faire cela?
Il ne semble pas possible d'ajouter une nouvelle ligne /n
à une chaîne de ressources XML. Y a-t-il une autre façon de faire cela?
Réponses:
utilisez une barre oblique noire et non une barre oblique avant. \n
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
De plus, si vous prévoyez d'utiliser la chaîne au format HTML, vous pouvez utiliser <br />
pour un saut de ligne ( <br />
)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello<br />World!</string>
</resources>
Je sais que c'est une question assez ancienne, mais elle était en tête de liste lorsque j'ai cherché. J'ai donc voulu mettre à jour avec une autre méthode.
Dans le fichier strings.xml, vous pouvez faire le \ n ou vous pouvez simplement appuyer sur Entrée:
<string name="Your string name" > This is your string. This is the second line of your string.\n\n Third line of your string.</string>
Cela entraînera ce qui suit sur votre TextView:
Ceci est votre chaîne.
Ceci est la deuxième ligne de votre chaîne.
Troisième ligne de votre chaîne.
Ceci est dû au fait qu'il y avait deux retours entre la déclaration de début de la chaîne et la nouvelle ligne. J'ai également ajouté le \ n pour plus de clarté, car l'un ou l'autre peut être utilisé. J'aime utiliser les retours chariot dans le xml pour pouvoir voir une liste ou toute autre chaîne multiligne que j'ai. Mes deux centimes.
C'est une vieille question, mais j'ai trouvé que lorsque vous créez une chaîne comme celle-ci:
<string name="newline_test">My
New line test</string>
La sortie dans votre application sera comme ça (pas de nouvelle ligne)
My New line test
Lorsque vous mettez la chaîne entre guillemets
<string name="newline_test">"My
New line test"</string>
la nouvelle ligne apparaîtra:
My
New line test
Html.fromHtml
. Merci
\n
partout (ce qui peut vite devenir illisible et déroutant). Inutile de dire, mais juste au cas où: si vous voulez avoir un guillemet littéral dans votre texte, vous devez y échapper:\"
Si vous mettez "\ n" dans une chaîne dans le fichier xml, il est considéré comme "\\ n"
Alors, j'ai fait:
text = text.Replace("\\\n", "\n"); ( text is taken from resX file)
Et puis je reçois un saut de ligne sur l'écran
Lorsque vous utilisez l'éditeur de traductions dans Android Studio, cliquez simplement sur l'icône à droite (ou utilisez Maj-Entrée), puis ajoutez des sauts de ligne en utilisant return. Cela insérera \ n correctement dans le fichier strings.xml localisé.
Dans la dernière version d'Android Studio, "\ n" sera imprimé comme s'il était censé être là, à moins que la chaîne entière ne soit dans des apostrophes
Par exemple:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">"Hello\nWorld!"</string>
</resources>
ne mettez pas d'espace après \ n, sinon cela ne fonctionnera pas. Je ne connais pas la raison, mais cette astuce a plutôt bien fonctionné pour moi.
Je veux développer cette réponse. Ce qu'ils voulaient dire, c'est cette icône:
Il ouvre une "vraie fenêtre d'éditeur" au lieu de la zone de texte à fonctionnalités limitées dans le grand aperçu. Dans cette fenêtre de l'éditeur, les caractères spéciaux, les sauts de ligne, etc. sont autorisés et convertis en «code» XML correct lors de l'enregistrement
Je viens de faire face à ce problème. n'a pas fonctionné TextView
avec les paramètres de contrainte. L'ajout android:lines="2"
semble résoudre ce problème.