Текстовый вид с разными цветными текстами в 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