Android学习笔记之Toast详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android学习笔记之Toast详解相关的知识,希望对你有一定的参考价值。

1. 贴一段android API-Toast

Toast

public class Toast 
extends Object 

java.lang.Object

   ?

android.widget.Toast

 


A toast is a view containing a quick little message for the user. The toast class helps you create and show those.

When the view is shown to the user, appears as a floating view over the application. It will never receive focus. The user will probably be in the middle of typing something else. The idea is to be as unobtrusive as possible, while still showing the user the information you want them to see. Two examples are the volume control, and the brief message saying that your settings have been saved.

The easiest way to use this class is to call one of the static methods that constructs everything you need and returns a new Toast object.

Developer Guides

For information about creating Toast notifications, read the Toast Notifications developer guide.

Summary


Constants

int

LENGTH_LONG

Show the view or text notification for a long period of time.

int

LENGTH_SHORT

Show the view or text notification for a short period of time.

 

Public constructors

Toast(Context context)

Construct an empty Toast object.

 

 

Public methods

void

cancel()

Close the view if it‘s showing, or don‘t show it if it isn‘t showing yet.

int

getDuration()

Return the duration.

int

getGravity()

Get the location at which the notification should appear on the screen.

float

getHorizontalMargin()

Return the horizontal margin.

float

getVerticalMargin()

Return the vertical margin.

View

getView()

Return the view.

int

getXOffset()

Return the X offset in pixels to apply to the gravity‘s location.

int

getYOffset()

Return the Y offset in pixels to apply to the gravity‘s location.

staticToast

makeText(Context context, int resId, int duration)

Make a standard toast that just contains a text view with the text from a resource.

staticToast

makeText(Context context, CharSequence text, int duration)

Make a standard toast that just contains a text view.

void

setDuration(int duration)

Set how long to show the view for.

void

setGravity(int gravity, int xOffset, int yOffset)

Set the location at which the notification should appear on the screen.

void

setMargin(float horizontalMargin, float verticalMargin)

Set the margins of the view.

void

setText(int resId)

Update the text in a Toast that was previously created using one of the makeText() methods.

void

setText(CharSequence s)

Update the text in a Toast that was previously created using one of the makeText() methods.

void

setView(View view)

Set the view to show.

void

show()

Show the view for the specified duration.

 

Inherited methods

From class java.lang.Object

 

2.中文简介及用法举例

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。下面用一个实例来看看如何使用Toast。

2.1 默认效果

技术分享

代码

Toast.makeText(getApplicationContext(), "默认Toast样式",   Toast.LENGTH_SHORT).show();

2.2 自定义显示位置效果

技术分享

代码

toast = Toast.makeText(getApplicationContext(),
     "自定义位置Toast", Toast.LENGTH_LONG);
   toast.setGravity(Gravity.CENTER, 0, 0);
   toast.show();

 

2.3 带图片效果

技术分享

 

代码

toast = Toast.makeText(getApplicationContext(),
     "带图片的Toast", Toast.LENGTH_LONG);
   toast.setGravity(Gravity.CENTER, 0, 0);
   LinearLayout toastView = (LinearLayout) toast.getView();
   ImageView imageCodeProject = new ImageView(getApplicationContext());
   imageCodeProject.setImageResource(R.drawable.icon);
   toastView.addView(imageCodeProject, 0);
   toast.show();

 

2.4 完全自定义效果

技术分享

代码

LayoutInflater inflater = getLayoutInflater();
   View layout = inflater.inflate(R.layout.custom,
     (ViewGroup) findViewById(R.id.llToast));
   ImageView image = (ImageView) layout
     .findViewById(R.id.tvImageToast);
   image.setImageResource(R.drawable.icon);
   TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
   title.setText("Attention");
   TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
   text.setText("完全自定义Toast");
   toast = new Toast(getApplicationContext());
   toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
   toast.setDuration(Toast.LENGTH_LONG);
   toast.setView(layout);
   toast.show();

2.5 其他线程

技术分享

 代码

new Thread(new Runnable() {
    public void run() {
     showToast();
    }
   }).start();

 

以上是关于Android学习笔记之Toast详解的主要内容,如果未能解决你的问题,请参考以下文章

DOM探索之基础详解——学习笔记

Android :第一行安卓代码学习笔记之 全局获取 Context

Android笔记之——消息Toast

Android学习笔记(26):Toast提示信息框

Android学习笔记二十之Toast吐司Notification通知PopupWindow弹出窗

android自定义Toast之-弹出消息