Can't change button's background color in XML .Android studio

Viewed 43625

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.

16 Answers

don't use anything else use

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

instead of one

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

every thing will work nicely.

Happy coding.

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!

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"

Add the attribute:

app:backgroundTint="@null"

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">

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

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

enter image description here

enter image description here

You can use this button

<androidx.appcompat.widget.AppCompatButton>

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

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

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

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

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.

Remove this from your button xml

android:background="@color/white"

And replace it with

android:backgroundTint="@color/white"

use hexcode directly to change the background

android:backgroundTint="#A9A9A9"

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

Related