24

Android studio screenshot

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.

kiner_shah
  • 3,939
  • 7
  • 23
  • 37
Xaxage
  • 249
  • 1
  • 4
  • 9

17 Answers17

42

don't use anything else use

<androidx.appcompat.widget.AppCompatButton
<!-- attributes-->
/>

instead of one

<Button
<!--attributes-->
/>

every thing will work nicely.

Happy coding.

Shashank Pandey
  • 683
  • 6
  • 14
25

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"
Mab
  • 412
  • 3
  • 12
Mehdi Shadrooh
  • 301
  • 2
  • 8
20

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!

Prateek
  • 502
  • 5
  • 16
6

Add the attribute:

app:backgroundTint="@null"

silicontrip
  • 906
  • 7
  • 23
Rida Dhimni
  • 61
  • 1
  • 3
5

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">
Hor Chanpheng
  • 811
  • 8
  • 9
2

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!

enter image description here

grgg7
  • 91
  • 2
  • 10
2

You can change style from design editor as shown in below image

enter image description here

Ashwin Nirmale
  • 443
  • 4
  • 13
1

enter image description here

You can use this button

<androidx.appcompat.widget.AppCompatButton>
Manoj
  • 2,059
  • 3
  • 12
  • 24
Jinwon Kim
  • 11
  • 2
1

Remove this from your button xml

android:background="@color/white"

And replace it with

android:backgroundTint="@color/white"
azcodez
  • 11
  • 3
1

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>
Inliner
  • 1,061
  • 7
  • 10
0

It's really easy. You should create a shape in XML. Set background to that shape then set background with that XML.

Nima Owji
  • 595
  • 3
  • 13
0

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

adrian
  • 9
  • 2
0

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

Gelos
  • 1
0

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

0

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.

0

use hexcode directly to change the background

android:backgroundTint="#A9A9A9"

0

Use the function setBackgroundColor() on your button in the button click listener