In XML, we can set a text color by the textColor
attribute, like android:textColor=\"#FF0000\"
. But how do I change it by coding?
I tried s
You should use:
holder.text.setTextColor(Color.RED);
You can use various functions from the Color
class to get the same effect of course.
Color.parseColor
(Manual) (like LEX uses)
text.setTextColor(Color.parseColor("#FFFFFF"));
Color.rgb
and Color.argb
(Manual rgb) (Manual argb) (like Ganapathy uses)
holder.text.setTextColor(Color.rgb(200,0,0));
holder.text.setTextColor(Color.argb(0,200,0,0));
And of course, if you want to define your color in an XML
file, you can do this:
#f00
because the getColor()
function is deprecated1, you need to use it like so:
ContextCompat.getColor(context, R.color.your_color);
You can also insert plain HEX, like so:
myTextView.setTextColor(0xAARRGGBB);
Where you have an alpha-channel first, then the color value.
Check out the complete manual of course, public class Color extends Object.
1This code used to be in here as well:
textView.setTextColor(getResources().getColor(R.color.errorColor));
This method is now deprecated in Android M. You can however use it from the contextCompat in the support library, as the example now shows.