使用drawable以编程方式设置android:textColor?

时间:2011-11-21 15:56:52

标签: android

我知道如何使用xml将drawable设置为文本的颜色,但我不知道它是如何用Java完成的。

在xml中是这样的:

android:textColor="@drawable/selected_color"

在JAVA?

5 个答案:

答案 0 :(得分:13)

假设“drawable”是指带有这样颜色项的选择器:

RES /颜色/ 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));

答案 1 :(得分:2)

假设“drawable”是指带有颜色项的选择器,您应该参考this question

您将无法将textcolor与图像drawable或包含图像drawable的选择器一起使用。

答案 2 :(得分:2)

颜色/ 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:

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

答案 3 :(得分:1)

您是否看到thisthisthis

最后一个链接说:

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

答案 4 :(得分:0)

一种简单的方法是使用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);