多次点击按钮弹出多个Toast的解决办法

大家都知道,Android 里的Toast N次点击之后,会弹出N次Toast。并且无法取消,这样就会导致Toast长时间显示,用户还无法关闭的情况。这样的用户体验很不好!


直到看到郭神的 Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?才知道,原来可以通过封装一下Toast,达到在一次toast的显示时间内,你多次点击会弹出Toast的按钮,不会造成上述现象!


代码如下:

public class Util {private static Toast toast;

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

}

调用的时候就只要
Util.showToast(context, "things happened");

代码并不复杂,但是效果很棒!


顺便提一句,我认为Android的Toast和SnackBar 所能做到的提示效果都不是特别的好


显示Toast时,如果恰巧你的输入法弹出了,你的输入法颜色比较艳丽,那么Toast将会不容易引起注意。


而显示SnackBar的位置为屏幕的最低下,个人觉得也不太能引起用户注意。


希望google大神在新版本能弄一个比较漂亮的提示控件

你可能感兴趣的:(多次点击按钮弹出多个Toast的解决办法)