The RIGHT way…
The following methods actually work.
if you wish – using a theme
By default a buttons color is android:colorAccent. So, if you create a style like this…
You can use it like this…
alternatively – using a tint
You can simply add android:backgroundTint for API Level 21 and higher, or app:backgroundTint for API Level 7 and higher.
For more information, see this blog.
The problem with the accepted answer…
If you replace the background with a color you will loose the effect of the button, and the color will be applied to the entire area of the button. It will not respect the padding, shadow, and corner radius.
You can change the colour two ways; through XML or through coding. I would recommend XML since it’s easier to follow for beginners.
XML:
You can also use hex values ex.
android_background=”@android:color/white”
Coding:
//btn represents your button object
btn.setBackgroundColor(Color.WHITE);
btn.setTextColor(Color.BLACK);