Tip: How to customize Toasts

fandroid1

Member
Joined
Jun 11, 2010
Messages
66
Reaction score
0
A toast notification is a message that pops up on the surface of the window. It only fills the amount of space required for the message and the user’s current activity remains visible and interactive. The notification automatically fades in and out, and does not accept interaction events.
The Basics
You can create customized Toasts and setting its display position, as you like.
Here’s a little code snippet to demonstrate how it works:


  • String text = “example toast text!”;
  • Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT);
  • /* Positioning your Toast */
  • int offsetX = 0, offsetY = 0;
  • toast.setGravity(Gravity.BOTTOM, offsetX, offsetY);
  • toast.show();
Creating a Custom Toast View
If a simple text message isn’t enough, you can create a customized layout for your toast notification. We are going to use custom view to create a fancy Toast. You could also use your own layout.
The Toast’s setView method’s going to do the job for us.

  • Context context = getApplicationContext();
  • String text = new String("Customized Toast!");
  • Toast customizedToast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG);
  • customizedToast.setGravity(Gravity.TOP, 0, 0);
  • LinearLayout mLayout = new LinearLayout(context);
  • mLayout.setOrientation(LinearLayout.VERTICAL);
  • TextView mTV = new TextView(context);
  • CustomView cv = new CustomView(context);
  • mTV.setText(text);
  • int height = LinearLayout.LayoutParams.FILL_PARENT;
  • int width = LinearLayout.LayoutParams.WRAP_CONTENT;
  • mLayout.addView(cv, new LinearLayout.LayoutParams(height, width));
  • mLayout.addView(mTV, new LinearLayout.LayoutParams(height, width));
  • customizedToast.setView(mLayout);
  • customizedToast.show();
Read for more information
 
Top