String
n'a pas de couleur mais la chose qui affiche un String
a.
Mais vous pouvez convertir votre objet String
-SpannableString
qui permet à l'utilisateur d'ajouter des effets tels que gras, italique, Souligné, portions de texte de couleur, etc.
si vous souhaitez afficher chaîne avec des couleurs différentes, vous devez utiliser ForegroundColorSpan
Par exemple:
SpannableString colouredString =new SpannableString("Red, Green, Blue.");
colouredString.setSpan(new ForegroundColorSpan(0xFFFF0000), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
colouredString.setSpan(new ForegroundColorSpan(0xFF00FF00), 5, 11, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
colouredString.setSpan(new ForegroundColorSpan(0xFF0000FF), 12, colouredString.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
pour changer la couleur d'arrière-plan, vous devez utiliser BackgroundColorSpan
:
Par exemple:
coloredString.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
maintenant vous pouvez utiliser cette colouredString
pour montrer dans EditText
et TextView
Pour donner des styles différents, vous pouvez utiliser StyleSpan
Exemple de référence: http://developer.android.com/resources/faq/commontasks.html#selectingtext
I n'obtiens pas ce que tu veux. De plus, un saut de ligne est archivé en utilisant '\ n' et non' // n'. –
pouvez-vous me dire comment ajouter de la couleur à la chaîne? – pengwang
Les chaînes n'ont pas de couleurs. Cependant, vous pouvez utiliser quelque chose comme HTML et un analyseur approprié pour ajouter des informations de couleur. Mais les cordes elles-mêmes n'ont pas de couleurs. –