How to set the text color of TextView in code?

后端 未结 30 2597
你的背包
你的背包 2020-11-22 07:48

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

30条回答
  •  情歌与酒
    2020-11-22 08:30

    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.

提交回复
热议问题