Android Custom Toast

In android, custom toast can also be created. Thus, images like congratulations or loss on the toast can be displayed.

activity_main.xml:
First, we need to drag the component that is needed to be displayed on the main activity.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
  >
 
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello Android!"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintLeft_toLeftOf="parent"
       app:layout_constraintRight_toRightOf="parent"
       app:layout_constraintTop_toTopOf="parent" />
 
</android.support.constraint.ConstraintLayout>

customtoast.xml:
Inside the layout directory, create an XML file. In this XML file, we will have the ImageView and TextView.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/custom_toast_layout"
   android:orientation="vertical"
   android:background="#F14E23"
   >
 
   <ImageView
       android:id="@+id/custom_toast_image"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:contentDescription="Hello world" />
 
   <TextView
       android:id="@+id/custom_toast_message"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:contentDescription="To"
       android:text="Custom Toast" />
</LinearLayout>

Activity class:

Code to display the custom toast:

package com.example.app1;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity {
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
 
       //Creating the LayoutInflater instance
       LayoutInflater li = getLayoutInflater();
 
       View layout = li.inflate(R.layout.customtoast,(ViewGroup) findViewById(R.id.custom_toast_layout));
 
       //Creating the Toast object
       Toast toast = new Toast(getApplicationContext());
       toast.setDuration(Toast.LENGTH_SHORT);
       toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
       toast.setView(layout);//setting the view of custom toast layout
       toast.show();
   }
}

Output: