Android Toast显示多次和重叠的问题优化

在安卓项目中遇到了toast重复、延迟显示和重叠的问题,经过一番尝试,找到了比较满意的效果。

封装代码如下:

public class ToastUtil {

    private static Toast mToast;

    public static void showMessage(String message, int duration) {
        Context context = MyApp.getInstance();
        if (mToast != null) {
            mToast.cancel(); //取消之前显示的toast,避免显示延迟。
        }
        mToast = new Toast(context);
        mToast.setText(message);
        mToast.setDuration(duration);
        mToast.setGravity(Gravity.CENTER, 0, 0);
        mToast.show();
    }

    //可在退出页面前调用,防止退出页面后还显示上个页面的toast
    public static void cancelMessage() {
        if (mToast != null) {
            mToast.cancel();
            mToast = null;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容