I created TableLayout
then buttons. The button's color was automatically set purple. So I can't change them right now. It's my first time here.

- 3,939
- 7
- 23
- 37

- 249
- 1
- 4
- 9
17 Answers
don't use anything else use
<androidx.appcompat.widget.AppCompatButton
<!-- attributes-->
/>
instead of one
<Button
<!--attributes-->
/>
every thing will work nicely.
Happy coding.

- 683
- 6
- 14
-
4Worked for me. But can you please elaborate what is the issue with the "Button"? Thanks – Michael Sep 05 '21 at 14:55
It's purple because of default background Tint color. You can : change **app:backgroundTint ** instad of android:backgroundColor . In this case your backgroundTint will appear instead of background color
OR
add
app:backgroundTint="@null"
and after that your background color will appear.
OR
You can change the default theme in android manifest . For example :
android:theme="@style/Theme.AppCompat"
or
android:theme="@style/Theme.AppCompat.NoActionBar"

- 412
- 3
- 12

- 301
- 2
- 8
Android default color is Purple in the latest Android Studio version. To change the color of the Button, you need to add a single line of code in the XML i.e.
app:backgroundTint="@color/red"
That's all!

- 502
- 5
- 16
You might be using targetSdkVersion
30
Solution: change the theme.xml style from
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
to
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

- 811
- 8
- 9
I had same problem, I tried almost everything and nothing worked! Seems like something has changed in Android Studio 4.1.1? idk.
[MY SOLUTION] So I used TextView instead of Button and set custom background and it worked for me :/ Hope this helps!

- 91
- 2
- 10
Remove this from your button xml
android:background="@color/white"
And replace it with
android:backgroundTint="@color/white"

- 11
- 3
As some other guys mentioned, it might be that your theme overrides your button color
materialButtonStyle in particular
You can
- either change your theme to Theme.AppCompat.DayNight.NoActionBar (or something like this)
- or override materialButtonStyle parameter
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="MyButtonStyle" parent="TextAppearance.AppCompat.Button" />
<style name="Theme.GradientTest" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="materialButtonStyle">@style/MyButtonStyle</item>
<!-- Other params here. -->
</style>

- 1,061
- 7
- 10
It's really easy. You should create a shape in XML. Set background to that shape then set background with that XML.

- 595
- 3
- 13
it worked well with the update on 'com.google.android.material:material:1.2.0-alpha06'
or
do it programmatically : myButton.background = ContextCompat.getDrawable(requireContext(), R.drawable.my_background)
both options, you'll need to set app:backgroundTint property as null
app:backgroundTint="@null"
check the next link: https://github.com/material-components/material-components-android/issues/889

- 9
- 2
go to res-values-themes-themes you will find two themes. one is when dark mode is activated. Go and change the one in dark mode. what could be happening is you have a different style for dark mode. I really hope it was easy to understand since english is not my first language

- 1
To resolve the issue. In the xml replace background in "android:background="@android:color/black" with backgroundTint "android:backgroundTint="@android:color/black"

- 1
- 2
I found a solution. inside the button tag, use
android:backgroundTint="#ccc"
replace #ccc in the above line with hex code for your preferred color. This should solve it.

- 42
- 1
- 10
Use the function setBackgroundColor()
on your button in the button click listener

- 98
- 1
- 7