【Android】封装使用Toast

android.widget.Toast类

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。而且Toast主要用于向用户显示提示消息。

1. 常规用法

Toast.makeText(context, "一条消息", Toast.LENGTH_SHORT).show();
// 或
Toast.makeText(context, "一条消息", Toast.LENGTH_LONG).show();

其中context是上下文。

虽然只需要一行代码,但写起来并不方便。做个简单封装吧。

2. 封装Toast

public class T {

    private static Application app;

    private T() {
    }

    public static void init(Application app) {
        T.app = app;
    }

    public static void s(String msg) {
        if (app == null) return;
        s(app, msg);
    }

    public static void l(String msg) {
        if (app == null) return;
        l(app, msg);
    }

    public static void s(Context context, String msg) {
        Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
    }


    public static void l(Context context, String msg) {
        Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
    }
}

使用时,先在自己写的Application中初始化。

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        T.init(this);
    }
}

使用时,只需:

 T.s("一条消息");// 时间较短
  //或
 T.l("一条消息");// 时间较长

如果没有在Application中初始化。也可以:

 T.s(context,"一条消息");// 时间较短
  //或
 T.l(context,"一条消息");// 时间较长

虽然T的命名是不规范的,但是用起来真是方便。当它比较特殊常用就好啦。如果是自定义Toast,也可以同理封装。

有些人觉得,Toast对象只构造一次静态储存下来,每次都复用同一个可以节约内存。但是那样的话,短时间需要两次显示Toast时,只会显示第一次。

《【Android】封装使用Toast》 配一张图

其他

还有对Log的简单封装:封装使用Log

    原文作者:wzmyyj
    原文地址: https://www.jianshu.com/p/7e51a0cc6c44
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞