Get color-int from color resource

Is there a way to get a color-int from a color resource?
I am trying to get the individual red, blue and green components of a color defined in the resource (R.color.myColor) so that I can set the values of three seekbars to a specific level.

For more information on another use-case that may help surface this question in search results, I wanted to apply alpha to a color defined in my resources. Using @sat’s correct answer:

  • Android_Chronometer pause
  • Strings don't seem to be equal in Java on Android, even though they print the same
  • Android M weird shared preferences issue
  • Change the color of a checked menu item in a navigation drawer
  • Error compile in “Use Facebook Login” SDK
  • Android Volley, duplicate Set-Cookie is overridden
  • int alpha = ... // 0-255, calculated based on some business logic
    int actionBarBackground = getResources().getColor(R.color.actionBarBackground);
    int actionBarBackgroundWithAlpha = Color.argb(

    Related posts:

    Can you set graphical layout preview-only text on a TextView?
    Difference between getheight() and getmeasuredheight()
    java.lang.IllegalAccessError: Method 'void
    Android - Suspending all threads took: * ms
    private String or public static String?
    how to fix proguard warning 'can't find referenced method' for existing m...
  • Android: how to make it no space between 2 button in a horizontal linearlayout
  • Determine if running on a rooted device
  • Remote debugging with Dart
  • How to handle Handler messages when activity/fragment is paused
  • Decoding polyline with new Google Maps API
  • Put switch inside action bar on Android
  • 5 Solutions collect form web for “Get color-int from color resource”

    You can use:


    Check here on how to define custom colors:

    Since getColor(int id) is deprecated now, this must be used :

    ContextCompat.getColor(context, R.color.your_color);

    (added in support library 23)


    Below code can be used for both pre and post Marshmallow (API 23)

    ResourcesCompat.getColor(getResources(), R.color.your_color, null); //without theme
    ResourcesCompat.getColor(getResources(), R.color.your_color, your_theme); //with theme

    Based on the new Android Support Library (and this update), now you should call:


    According to the documentation:

    public int getColor (int id)

    This method was deprecated in API level 23.
    Use getColor(int, Theme) instead

    It is the same solution for getResources().getColorStateList(id):

    You have to change it like this:


    Here is a somewhat fuller example (and updated for API 24 and below) :

    Define your color


    <?xml version="1.0" encoding="utf-8"?>
        <!-- color int as #AARRGGBB (alpha, red, green, blue) -->
        <color name="orange">#fff3632b</color>
        <color name="my_view_color">@color/orange</color>

    Get the color int and set it

    int backgroundColor = ContextCompat.getColor(context, R.color.my_view_color);
    // Color backgroundColor = ... (Don't do this. The color is just an int.)

    See also

    • How to set background color of a View
    • Color docs
    • Color Style Design docs

    I updated to use ContextCompat.getColor(context, R.color.your_color); but sometimes (On some devices/Android versions. I’m not sure) that causes a NullPointerExcepiton.

    So to make it work on all devices/versions, I fall back on the old way of doing it, in the case of a null pointer.

    try {
        textView.setTextColor(ContextCompat.getColor(getActivity(), R.color.text_grey_dark));
    catch(NullPointerException e) {
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        else {

    Use ResourcesCompat.getColor method, though it has rather verbose parameters.

    If you use only one theme in your app, you can simplify referencing colors in code (“How do I get my color now?”) you can use a custom class with all specific Android-framework approaches inside. Use it like myView.setBackgroundColor(Color.getMyRed()).

    1. In AndroidManifest.xml name your application:

    2. Create a helper global class for your application at com.my_site path to get context and resources in any static methods:

      import android.content.Context;
      public class Application
      extends {
        private static Context context;
        public static Context getContext() {
          return Application.context;
        public void onCreate() {
          Application.context = getApplicationContext();
    3. Create custom Color class with static getter-methods:

       * Simplify getting colors.
      public class Color {
        public static int getMyRed() {
    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.