首页 > 代码库 > Toast 总结

Toast 总结

 Toast

extends Object

使用该类最简单的方法就是调用一个静态方法,让他来构造你需要的一切并返回一个新的 Toast 对象。
Toast是没有焦点的,所以不会阻碍用户输入,而且Toast显示的时间有限,过一定的时间就会自动消失。

Toast是Android中用来显示显示信息的一种机制,用来提醒用户短消息,比如声音大小的控制和数据已保存。

Toast.makeText(context, "显示的消息",  Toast.LENGTH_LONG).show(); 

 

静态方法中设置显示时间只能是:Toast.LENGTH_SHORT和 Toast.LENGTH_LONG,可以得到Toast对象后setDuration(millisecond

 

可以设置显示的位置

               
?
1
2
3
Toast toast = Toast.makeText(MainActivity.this, "显示的消息", Toast.LENGTH_LONG);  
               toast.setGravity(Gravity.CENTER, 20,80);
               toast.show();
 
也可以通过设置view 自定义风格,view 通过LayoutInflater.from(context).infalte(R.layout.XXX) 得到
               
 Toast toast = new Toast(context);
                toast.setGravity(Gravity.RIGHT | Gravity.TOP, 100,100);//设置Toast的显示位置为屏幕的右上方
                toast.setDuration(Toast.LENGTH_LONG);  //设置Toast的显示时间
                toast.setView(view);  //设置Toast显示的布局
                toast.show();

 

也可以自定义Toast 

LayoutInflater inflater = getLayoutInflater();
                View view = inflater.inflate(R.layout.cell, null);
                //ImageView用于显示图片
                ImageView imgView = (ImageView) view.findViewById(R.id.XX);
                imgView .setImageResource(R.drawable.XXX);
                //TextView用于显示Toast的标题
                TextView title = (TextView) view.findViewById(R.id.title);
                title.setText("title");
                //TextView用于显示Toast的信息内容
                TextView text = (TextView) view.findViewById(R.id.tv_message);
                text.setText("自定义Toast");
                //创建一个Toast对象
                Toast toast = new Toast(this);
                //设置Toast的显示时间2秒
                toast.setDuration(2000);
                //设置Toast显示的布局
                toast.setView(view);
                toast.show();

 

 

当显示几个不同Toast时候显示效果不太好,在不断点击产生Toast时,会等前一个显示完才接着显示下一个,这时可以直接只是把原来文字改了,再使用

show()显示。

 

   private Toast mToast;
    public void showToast(String text) {  
        if(mToast == null) {  
            mToast = Toast.makeText(this, text, Toast.LENGTH_SHORT);  
        } else {  
            mToast.setText(text);    
            mToast.setDuration(Toast.LENGTH_SHORT);  
        }  
        mToast.show();  
    }

 

 

在Toast退出的时候,程序退出了,Toast还在显示,可以利用函数 mToast.cancel();  在退出前取消显示即可。

 

Toast可以设置为一个工具类的一个单例,可能不同地方都会用到,可以使整个应用只有一个Toast实例。

 

可以参考官方:http://developer.android.com/reference/android/widget/Toast.html