`
shinfocom
  • 浏览: 1191285 次
文章分类
社区版块
存档分类
最新评论

自定义Android Toasts风格

 
阅读更多

SDK Version:
M3


Customizing Toasts

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 currentactivityremains 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:

  • Stringtext = “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 ToastView

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.

  • Contextcontext = getApplicationContext();
  • Stringtext = newString("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);
  • TextViewmTV = 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();
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics