Drawable buttonDrawable = button.getBackground();     buttonDrawable = DrawableCompat.wrap(buttonDrawable);     //the color is a direct color int and not a color resource     DrawableCompat.setTint(buttonDrawable, Color.RED);     button.setBackground(buttonDrawable); 

Read more of this post