You must have seen that by default we get a dark gray kind of background color for a toast message that is displayed on the Android Activity Screen (may vary depending upon what flavor of Android OS you are using). If you want to develop a custom Toast message with a color combination that suits your app design then we can do it programmatically using setBackgroundResource() provided by the Toast Class. Let's see an example, we will change the background color to Yellow and the toast text color to white. Below is an example in both Java and Kotlin.

We need to create a drawable XML file to achieve this, we will create toast_drawable.xml and store it in any of the drawable folders under res. We will add a solid tag to set the background color.
File : toast_drawable.xml<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#ffff00" />
</shape>
File : MainActivity.java
package com.code2care.toast;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void displayToast(View view) {
Toast toast = Toast.makeText(getApplicationContext(),
"Custom toast background color",
Toast.LENGTH_SHORT);
View toastView = toast.getView();
toastView.setBackgroundResource(R.drawable.toast_drawable);
toast.show();
}
}
File : MainActivity.kt
package com.code2care.toast
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.View
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun displayToast(view: View) {
val toast = Toast.makeText(applicationContext, "Custom toast background color", Toast.LENGTH_SHORT)
val toastView = toast.view
toastView?.setBackgroundResource(R.drawable.toast_drawable)
toast.show()
}
}
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!