前言 

Toast只会弹出一段信息,告诉用户某某事情已经发生了,过一段时间后就会自动消失。它完全不会阻挡用户的任何操作,甚至用户也可以完全不用理会Toast。

那么我们还是先来看一下Toast的基本用法吧,如下所示:

Toast.makeText(this, "景氏", Toast.LENGTH_SHORT).show();

最后一个参数用于指定Toast显示的时长,Toast.LENGTH_SHORT表示显示时间较短,Toast.LENGTH_LONG表示显示时间较长。

是不是感觉特别简单, 但简单的同时也有影响客户体验的小细节,就比如我快速连续点击了五次按钮,Toast就触发了五次。这样的体验其实是不好的,因为也许用户是手抖了一下多点了几次,导致Toast就长时间关闭不掉了。又或者我们其实已在进行其他操作了,应该弹出新的Toast提示,而上一个Toast却还没显示结束。

所以我们需要自己优化Toast并封装成类中的静态方法就可以调用

下面我把优化代码带上来进行分享


public class Util {
private static Toast toast;


public static void ShowToast(Context context,String content){
if(null==toast){
toast=Toast.makeText(context,content,Toast.LENGTH_SHORT);
}else {
toast.setText(content);
}
toast.show();
}
}

在你需要Toast的地方只需要调用

Util.ShowToast(this,"景氏");