如何在Android中使用drawable设置android:textColor?

问题描述 投票:12回答:5

我知道如何使用xml将可绘制对象设置为文本的颜色,但是我不知道如何在Java中完成它。

在xml中是这样的:

android:textColor="@drawable/selected_color"

在JAVA中?

android drawable textcolor
5个回答
2
投票

假设“可绘制”是指带有颜色项的选择器,应参考this question

您将无法将textcolor与图像可绘制对象或包含图像可绘制对象的选择器一起使用。


13
投票

假设“可绘制”是指具有如下颜色项的选择器:

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));


2
投票

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));

1
投票

您看到thisthisthis吗?

最后一个链接说要使用:

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

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);
© www.soinside.com 2019 - 2024. All rights reserved.