Get the background color of a button in android

LostPuppy picture LostPuppy · Nov 11, 2011 · Viewed 76.9k times · Source

How do i get the background color of a button. In the xml i set the background color using ---- android:background = XXXXX now in the activity class how can i retrieve this value that it has ?

Answer

Matthew Rudy picture Matthew Rudy · Nov 11, 2011

Unfortunately I don't know how to retrieve the actual color.

It's easy to get this as a Drawable

Button button = (Button) findViewById(R.id.my_button);
Drawable buttonBackground = button.getBackground();

If you know this is a color then you can try

ColorDrawable buttonColor = (ColorDrawable) button.getBackground();

And if you're on Android 3.0+ you can get out the resource id of the color.

int colorId = buttonColor.getColor();

And compare this to your assigned colors, ie.

if (colorID == R.color.green) {
  log("color is green");
}