Android : change button text and background color Android : change button text and background color android android

Android : change button text and background color


Here is an example of a drawable that will be white by default, black when pressed:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true">        <shape>            <solid                android:color="#1E669B"/>            <stroke                android:width="2dp"                android:color="#1B5E91"/>            <corners                android:radius="6dp"/>            <padding                android:bottom="10dp"                android:left="10dp"                android:right="10dp"                android:top="10dp"/>        </shape>    </item>    <item>        <shape>            <gradient                android:angle="270"                android:endColor="#1E669B"                android:startColor="#1E669B"/>            <stroke                android:width="4dp"                android:color="#1B5E91"/>            <corners                android:radius="7dp"/>            <padding                android:bottom="10dp"                android:left="10dp"                android:right="10dp"                android:top="10dp"/>        </shape>    </item></selector>


Since API level 21 you can use :

android:backgroundTint="@android:color/white"

you only have to add this in your xml


I think doing this way is much simpler:

button.setBackgroundColor(Color.BLACK);

And you need to import android.graphics.Color; not: import android.R.color;

Or you can just write the 4-byte hex code (not 3-byte) 0xFF000000 where the first byte is setting the alpha.