自定义Toast

来源:互联网 发布:淘宝链接被删除 编辑:程序博客网 时间:2024/06/11 09:14

Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?


一个简单的自定ToastDemo,参考了郭霖大神的这篇博客,同时考虑到Toast可能会持有View,因此采用软引用的方式保存Toast对象


class DToast {    private static WeakReference<Toast> holder;    static void show(Context context, String content) {        Toast toast;        if (holder != null) {            toast = holder.get();            if (toast != null) {                toast.setText(content);//已初始化,避免重复创建            } else {                //已被gc,重新初始化                toast = Toast.makeText(context, content, Toast.LENGTH_SHORT);                holder = new WeakReference<>(toast);            }        } else {            //初始化            toast = Toast.makeText(context, content, Toast.LENGTH_SHORT);            holder = new WeakReference<>(toast);        }        toast.show();    }}
本人水平有限,请指正、并请不吝赐教。

0 0
原创粉丝点击