Day 4:Toast Notification in Android

Introduction

 
When we talk about "Toast" notification then, “Mobile Data Turned Off”, “Download Completed” come to our mind. Yes, those small pop-ups are called Toast in Android.
 

What is a Toast Notification?

 
Toast Notification is a Pop-up message that is shown on the screen for a while and hides after a while.
 
To implement this, we will use the Toast Class in our MainActivity.java file.
 
The agenda will be:
 
Toast Class
  • First, create a simple UI with a Button at least that raises the toast notification.
  • Then, code the setOnClickListner()
  • Inside, the listener we will place the Toast object.
Procedure
 
Step 1
 
Inside main_activity.xml, add a button that looks like: 
  1. <code>  
  2. <Button  
  3.        android:id="@+id/button1"  
  4.        style="@style/AppTheme"  
  5.        android:layout_width="match_parent"  
  6.        android:layout_height="wrap_content"  
  7.        android:layout_gravity="bottom"  
  8.        android:text="@string/buttonName" /> <!-- or better write "Click" -->>  
  9. </code>  
And, it looks like:
 
looks like
 
Note: Here, I have added a large TextView of no use (You can skip it). 
 
Step 2
 
In this step, we code the Button Click event, in other words setOnClickListner(). 
  1. <code>  
  2.       // Button Instance  
  3.       Button myButton = (Button) findViewById(R.id.button1);  
  4.   
  5.       myButton.setOnClickListener(new OnClickListener() {  
  6.   
  7. public void onClick(View arg0) {  
  8.   
  9.         // After taping on button1, we pop a Toast Message  
  10.        Toast toast=Toast.makeText(MainActivity.this"Hello C# Corner !!", Toast.LENGTH_SHORT);  
  11.        toast.setGravity(Gravity.CENTER, 0, 0); // Or, you can set Margin by: toast.setMargin(50,50);  
  12.        toast.show();  
  13.   
  14.   }  
  15.   });  
  16. </code>  
These lines of code are inside the onCreate() method. So, what these lines of code will do is, in the first line, we initiated the reference of the button and linked it with the layout ‘s button, in other words, button1.
 
Then, we populated a setOnClickListner() where we are putting the toast object. Inside. In the Toast class, we have a makeText() method that takes three arguments.
 
The first is the current context, then the second is “Your Message” and the third is the time interval. Actually, the third one has two enum values, LENGTH_LONG and LENGTH_SHORT.
 
After deciding the makeText(), we move to setGravity that decides the position of the toast message. And for the last we called the show() method that is easily understood.
 
Instead of setGravity() you can use setMargin() that takes two margin values, the first is the horizontal margin than the vertical margin.
 
You can use any of the two since they both work in the same context.
 
So, our Java code looks like: 
  1. <code>  
  2.    package com.greensyntax.toastapp;  
  3.   
  4.    import android.os.Bundle;  
  5.    import android.support.v7.app.ActionBarActivity;  
  6.    import android.view.Gravity;  
  7.    import android.view.View;  
  8.    import android.view.View.OnClickListener;  
  9.    import android.widget.Button;  
  10.    import android.widget.Toast;  
  11.   
  12.   
  13. public class MainActivity extends ActionBarActivity {  
  14.   
  15.    @Override  
  16. protected void onCreate(Bundle savedInstanceState) {  
  17.      super.onCreate(savedInstanceState);  
  18.      setContentView(R.layout.activity_main);  
  19.   
  20.      // Button Instance  
  21.      Button myButton = (Button) findViewById(R.id.button1);  
  22.   
  23.     myButton.setOnClickListener(new OnClickListener() {  
  24.   
  25. public void onClick(View arg0) {  
  26.   
  27.     // After taping on button1, we pop a Toast Message  
  28.     Toast toast=Toast.makeText(MainActivity.this"Hello C# Corner !!", Toast.LENGTH_SHORT);  
  29.     toast.setGravity(Gravity.CENTER, 0, 0); // Or, you can set Margin toast.setMargin(50,50);  
  30.     toast.show();  
  31.   
  32. }  
  33. });  
  34.   
  35. }  
  36. }  
  37. </code>  
And, finally, the output will be like:
 
Output will
 

Conclusion

 
If you encounter any problem with the code then just follow through the enclosed Eclipse-project file.