In this tutorial, we would learn about Toast in Android. We use Toast in Android to show small piece of information for small time. For example, we want to show a message like “Signup Successfully” or “User Name Already Taken” after a user will press the signup button. In that kind of situations toast is a best option to give a small message to user. In this tutorial, we will learn how can we show a Toast in our Android App. Toast is class already available in Android. we can use that class to show Toast in our App and We can also create a custom Toast in Android. In this tutorial we will also learn how we can create a custom Toast in Android.
Page Contents
XML Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="16dp"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:textColor="@color/colorWhite"
android:background="@color/colorPrimary"
android:id="@+id/button"
android:text="Show Toast"/>
</LinearLayout>
In this layout file, I added a button and I will show a Toast whenever someone presses this Button in this Activity.
Java Code:
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast Example
Toast.makeText(MainActivity.this,"Learn Android with Owlbuddy",Toast.LENGTH_SHORT).show();
}
});
}
}
To create Toast in Android we have a static method “makeText” in “Toast” class. so that’s why I called that static method from “Toast” class. This makeText method gets three parameters.
- First Parameter: The first parameter of makeText method is context. So to give context I added here MainActivity.this.
- Second Parameter: The second parameter is your message. The message which you want to show in your Toast. I added here “Learn Android with Owlbuddy”.
- Thirst Parameter: The third Parameter in makeText is duration mean for how much time you want to show this message. To set duration we have two static variables in Toast class Toast.LENGTH_SHORT and Toast.LENGTH_LONG.
I hope so now you would have a clear idea of how to add a simple Toast in our Android App. Now we will learn how to create a “Custom Toast” in Android. For this rest of the tutorial, I would keep “main_activity.xml” file the same. I will just add a new layout file to give layout to my custom toast and I will also change some code in MainActivity java file to add custom toast.
Custom Toast XML code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:padding="15dp"
android:id="@+id/toast_layout"
android:background="@color/colorPrimary"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is Toast"
android:textColor="@color/colorWhite"/>
</LinearLayout>
MainActivity Java Code:
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
LayoutInflater layoutInflater=getLayoutInflater();
final View view=layoutInflater.inflate(R.layout.toast_layout,(ViewGroup)findViewById(R.id.toast_layout));
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast Example
Toast toast=new Toast(MainActivity.this);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
});
}
}