Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是:Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。

   Toast是一种提供给用户简洁信息的视图。Toast类帮助你创建和显示该信息。

   该视图已浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响。它的目标是尽可能已不显眼的方式,使用户看到你提供的信息。

   有两个例子就是音量控制和设置信息保存成功。

   使用该类最简单的方法就是调用一个静态方法,让他来构造你需要的一切并返回一个新的 Toast 对象。

用以下代码说明Toast的几种用法:

(1)默认:

Toast.makeText(MainActivity.this, "这是默认效果的Toast",  Toast.LENGTH_LONG).show();

(2)自定义显示位置:

Toast toast = Toast.makeText(MainActivity.this, "这是自定义位置的Toast", Toast.LENGTH_LONG);                 //设置Toast在屏幕上显示的位置                toast.setGravity(Gravity.CENTER, 20,80);                 toast.show();

(3)自定义显示图标:

Toast toast = Toast.makeText(MainActivity.this, "这是带图片的Toast", Toast.LENGTH_LONG);               //创建一个子布局用于自定义Toast的内容              LinearLayout toastView = (LinearLayout) toast.getView();               //在这个子布局中定义一个ImageView用于添加Toast显示的图片              ImageView  iv= new ImageView(MainActivity.this);               iv.setImageResource(R.drawable.p3);               //把ImageView添加到子布局当中              toastView.addView(iv, 0);               toast.show();

(4)完全自定义的:

//创建一个布局,用于承载Toast中的内容                LayoutInflater inflater = getLayoutInflater();                 View view = inflater.inflate(R.layout.cell, null);                 //Toast中的内容之一ImageView用于显示图片                ImageView iv = (ImageView) view.findViewById(R.id.iv);                 iv.setImageResource(R.drawable.p4);                 //Toast中的内容之二TextView用于显示Toast的标题                TextView title = (TextView) view.findViewById(R.id.tv_title);                 title.setText("注意:");                 //Toast中的内容之三TextView用于显示Toast的信息内容                TextView text = (TextView) view.findViewById(R.id.tv_message);                 text.setText("这是完全自定义Toast");                 //创建一个Toast对象                Toast toast = new Toast(MainActivity.this);                 //设置Toast的显示位置为屏幕的右上方                toast.setGravity(Gravity.RIGHT | Gravity.TOP, 100,100);                 //设置Toast的显示时间                toast.setDuration(Toast.LENGTH_LONG);                 //设置Toast显示的布局                toast.setView(view);                 toast.show();

(5)在线程中使用:

Handler handler = new Handler();       public void showToast() {            handler.post(new Runnable() {                @Override                public void run() {                    Toast.makeText(MainActivity.this, "线程中的Toast", Toast.LENGTH_LONG).show();                }            });        }new Thread(new Runnable() {                    public void run() {                        showToast();                    }                }).start();

   以上就是常常使用到的Toast的使用方法,看一下显示效果: