我知道如何使用xml将可绘制对象设置为文本的颜色,但是我不知道如何在Java中完成它。
在xml中是这样的:
android:textColor="@drawable/selected_color"
在JAVA中?
假设“可绘制”是指带有颜色项的选择器,应参考this question。
您将无法将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));
color / 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));
一种简单的方法是使用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);