Saut de ligne dans le formatage XML?
Lors de l'édition D'une chaîne en XML, j'ai besoin d'ajouter des sauts de ligne. Et je voulais demander Quelle est la bonne forme lors de la programmation pour android? Parce que <br>
fonctionne mais ECLIPSE marque la zone comme problématique. Si je consulte des suggestions, Eclipse me dit que j'ajouterai une balise de fin </br>
- si j'ajoute que le saut de ligne disparaît...
Donc l'un fonctionne mais est marqué comme problématique, l'autre ne fonctionne pas mais Eclipse me dit que c'est ok..
Quel formulaire dois-je utiliser?
5 réponses
Utiliser \n
pour un saut de ligne et \t
si vous souhaitez insérer un onglet.
Vous pouvez également utiliser des balises XML pour le formatage de base: <b>
pour le texte en gras, <i>
pour l'italique et <u>
pour le texte souligné.
D'autres options de formatage sont présentées dans cet article sur les développeurs Android' site:
https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling
Si vous faites référence à des chaînes res, utilisez CDATA avec \n.
<string name="about">
<![CDATA[
Author: Sergio Abreu\n
http://sites.sitesbr.net
]]>
</string>
Vous pouvez Également ajouter
au lieu de \n.
Et puis vous pouvez ajouter du texte à TexView:
articleTextView.setText(Html.fromHtml(textForTextView));
Prenez note: j'ai vu d'autres messages qui disent que 

vous donnera une pause de paragraphe, qui fonctionne assez curieusement dans le fichier Android xml String.xml
, mais N'apparaîtra pas dans un périphérique lors du test (aucune pause n'apparaît). Par conséquent, le \n
apparaît sur les deux.
Voici ce que j'utilise quand je n'ai pas accès à la chaîne source, par exemple pour le HTML téléchargé:
// replace newlines with <br>
public static String replaceNewlinesWithBreaks(String source) {
return source != null ? source.replaceAll("(?:\n|\r\n)","<br>") : "";
}
Pour XML, vous devriez probablement modifier cela pour le remplacer par <br/>
à la place.
Exemple de son utilisation dans une fonction (appels supplémentaires retiré pour plus de clarté):
// remove HTML tags but preserve supported HTML text styling (if there is any)
public static CharSequence getStyledTextFromHtml(String source) {
return android.text.Html.fromHtml(replaceNewlinesWithBreaks(source));
}
...et un autre exemple:
textView.setText(getStyledTextFromHtml(someString));