Can I change the color of the Android basic button?

Asked 2 years ago, Updated 2 years ago, 115 views

I want to change the color of the Android basic button. So I looked it up

    <?xml version="1.0" encoding="utf-8"?>    
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/red_button_pressed" />
        <item android:state_focused="true" android:drawable="@drawable/red_button_focus" />
        <item android:drawable="@drawable/red_button_rest" />
    </selector>

I created a selector and found a way to change the button image whenever the button is pressed, the focus goes, and the button is not touched. But it's so annoying and I need three image files, so I just want to change the color of the button Is it possible?

android-layout android

2022-09-22 22:38

1 Answers

I thought of an easy way to do it, but try applying the code below. The file name is custom_button.xml The button is background="@drawable/custom_button.

    <?xml version="1.0" encoding="utf-8"?>
    <selector
        xmlns:android="http://schemas.android.com/apk/res/android">

        <item android:state_pressed="true" >
            <shape>
                <gradient
                    android:startColor="@color/yellow1"
                    android:endColor="@color/yellow2"
                    android:angle="270" />
                <stroke
                    android:width="3dp"
                    android:color="@color/grey05" />
                <corners
                    android:radius="3dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>

        <item android:state_focused="true" >
            <shape>
                <gradient
                    android:endColor="@color/orange4"
                    android:startColor="@color/orange5"
                    android:angle="270" />
                <stroke
                    android:width="3dp"
                    android:color="@color/grey05" />
                <corners
                    android:radius="3dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>

        <item>        
            <shape>
                <gradient
                    android:endColor="@color/blue2"
                    android:startColor="@color/blue25"
                    android:angle="270" />
                <stroke
                    android:width="3dp"
                    android:color="@color/grey05" />
                <corners
                    android:radius="3dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>
    </selector>

I'm going to use the same selector, but I'm going to color it on top


2022-09-22 22:38

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.