J'ai besoin de ma textview
pour avoir des textes de couleurs différentes. De plus, je dois le faire à partir du code xml
, pas du code Java. Y a-t-il quelqu'un qui connaît un moyen de le faire? Merci
par exemple. J'ai la phrase "c'est rouge". J'ai besoin que les mots soient verts et que Word red soit rouge.
Reportez votre texte sur string.xml et utilisez une balise de police html. Ainsi, vous pouvez également modifier la couleur de chaque lettre.
ajoutez simplement ceci en Java pour cette chaîne:
TextView tv=(TextView)findViewById(R.id.tv);
tv.setText(Html.fromHtml(getString(R.string.any_text)));
et
Dans string.xml:
<string name="any_text">
<![CDATA[ <b><font color=#ff0000>write</b> your <b><font color=#0000ff>text</b> here .
]]>
</string>
j'espère vous aider
Il y a trois façons de changer la couleur d'un texte dans une vue de texte.
dans strings.xml
fichier dans (res> valeurs), en utilisant la balise (<![CDATA[<p>This is green <font color='hexvalue of red'>and this is red</font>.</p> ]]>
) puis en déclarant la vue texte dans le code Java sous la forme myTextView.setText(Html.fromHtml(getString(R.string.myText));
via du code Java, à l'aide de la balise HTML String text = "<font color='hexvalue of green'>This is green</font> <font color='hexvalue of red'>and this is red</font>."; myTextView.setText(Html.fromHtml((text));
à travers le texte Spannable
en utilisant le code Java.
Spannable span
= new SpannableString("My String");
span.setSpan(new ForegroundColorSpan(Color.RED), start_position,
end_position,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(span);
S'il y a d'autres façons de le faire, alors je ne suis pas au courant. J'espère que cela vous aidera
En classe Java, définissez TextView comme ceci:
TextView tv = (TextView) findViewById(R.id.text1);
String text = "<font color=#cc0029>write any thing here</font> "+
"<font color=#ffcc00>write any thing here 2</font>";
tv.setText(Html.fromHtml(text));