How to change Android Button Color using xml attribute and programatically using java


By default we have a grayish looking Button view for Android if you want to change the color you can do it either using XML attribute for <Button> tag or programmatically using java code, let's see both of them,

>Change Button color using XML attribute

All we need to do is add android:background attribute to the <Button> view xml tag, we can set colors as hex codes with opacity. We can also set image as background for a button using android:background:"@drawable/imageName attribute, lets see some examples,

Example 1

<Button
     android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="38dp"
      android:text="Button"
      android:background="#FFFFCC" />

Example 2

<Button
     android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button"
      android:background="#88FFFFCC" />

Example 3

<Button
     android:id="@+id/button3"
      android:layout_width="wrap_content"
       android:layout_height="wrap_content"
      android:text="Button"
      android:background="@drawable/image_name" />

Change Button color using xml attribute

button.setBackgroundResource(R.drawable.image_name);
button.setBackgroundResource(Color.RED);
button.setBackgroundResource(Color.rgb(100, 100, 100));