【发布时间】:2011-11-21 15:56:52
【问题描述】:
我知道如何使用 xml 将可绘制对象设置为文本的颜色,但我不知道它是如何在 Java 中完成的。
在xml中是这样的:
android:textColor="@drawable/selected_color"
在 JAVA 中?
【问题讨论】:
标签: android drawable textcolor
我知道如何使用 xml 将可绘制对象设置为文本的颜色,但我不知道它是如何在 Java 中完成的。
在xml中是这样的:
android:textColor="@drawable/selected_color"
在 JAVA 中?
【问题讨论】:
标签: android drawable textcolor
假设您所说的“可绘制”是指具有如下颜色项目的选择器:
res/color/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));
【讨论】:
颜色/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));
【讨论】:
假设“可绘制”是指带有颜色项的选择器,您应该参考this question。
您将无法将 textcolor 与图像可绘制对象或包含图像可绘制对象的选择器一起使用。
【讨论】:
一种简单的方法是使用 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);
【讨论】: