Set android: textColor с программным обеспечением с возможностью рисования?

Я знаю, как установить drawable как цвет текста с помощью xml, но я не знаю, как это делается на Java.

В xml есть что-то вроде этого:

android:textColor="@drawable/selected_color"

в JAVA?

Ответ 1

Предполагая, что под "drawable" вы имеете в виду селектор с элементами цвета, вы должны обратиться к этому вопросу.

Вы не сможете использовать цвет текста с образами изображений или селекторами, содержащими образы изображений.

Ответ 2

Предполагая, что под "drawable" вы имеете в виду селектор с такими элементами цвета, как это:

Рез/цвет/your_colors.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="#ffffffff"/>
    <item android:color="#ff1c5fab"/>
</selector>

Вы можете использовать этот код: mText.setTextColor(getResources().getColorStateList(R.color.your_colors));

Ответ 3

Вы видели этот, этот или это?

В последней ссылке говорится:

tvImagesTitle.setTextColor( getResources().getColor(R.color.blue) ); 

Ответ 4

цвет/selector_colors.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/white" android:state_checked="true" />
    <item android:color="@color/white" android:state_pressed="true" />
    <item android:color="@color/white" android:state_activated="true" />

    <item android:color="@color/black" />

</selector>

вы должны реализовать его в текстовом виде следующим образом:

textview.setTextColor(context.getResources().getColorStateList(R.color.selector_colors));

Ответ 5

Один простой способ - использовать HTML:

StringBuilder text = new StringBuilder();
text.append("<font color='").append(selectedColor).append("'>")                     .append("your text here").append("</font>");

textView.setText(Html.fromHtml(text.toString()), BufferType.SPANNABLE);