What's new
DroidForums.net | Android Forum & News

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Tip: How to customize Toasts

fandroid1

Member
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
 
Back
Top