我知道如何使用xml将drawable设置为文本的颜色,但我不知道它是如何用Java完成的。
在xml中是这样的:
android:textColor="@drawable/selected_color"
在JAVA?
答案 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)
答案 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);