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.