Текстовый вид с разными цветными текстами в xml-коде
Мне нужно, чтобы мой textview
имел разные цветные тексты. Также мне нужно сделать это из кода xml
, а не из java-кода. Есть ли кто-нибудь, кто знает какой-то способ сделать это?
Благодаря
например. У меня есть предложение "Это красное". Мне нужно, чтобы слова были зелеными, а слово красный красным.
Ответы
Ответ 1
Отправьте свой текст в string.xml и используя тег шрифта html, используя этот способ, вы также можете изменить цвет каждой буквы.
просто добавьте это в java для этой строки:
TextView tv=(TextView)findViewById(R.id.tv);
tv.setText(Html.fromHtml(getString(R.string.any_text)));
и
В файле string.xml:
<string name="any_text">
<![CDATA[ <b><font color=#ff0000>write</b> your <b><font color=#0000ff>text</b> here .
]]>
</string>
надеюсь, что вы
Ответ 2
Существует три способа изменить цвет текста внутри текстового поля.
-
через strings.xml
файл в (res > значения), используя тег (<![CDATA[<p>This is green <font color='hexvalue of red'>and this is red</font>.</p> ]]>
), а затем объявляя textview в java-коде как myTextView.setText(Html.fromHtml(getString(R.string.myText));
-
через java-код, используя тег 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));
-
через Spannable
текст с использованием java-кода.
Spannable span
= new SpannableString("My String");
span.setSpan(new ForegroundColorSpan(Color.RED), start_position,
end_position,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(span);
Если есть другие способы сделать это, я не знаю о них.
Надеюсь, что это поможет
Ответ 3
В классе Java определите TextView следующим образом:
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));
Ответ 4
<TextView
android:id="@+id/yourUniqueTextViewID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:textColor="@color/RED" />
Где "RED" - это именованная константа, которую вы должны определить под res/values /в XML файле. Обычно я создаю "colors.xml".
Или посмотрите на хороший набор предопределенных цветов: Цвет веб-сайтов в файле ресурсов xml файла для Android