美文网首页android开发技巧
【Android】封装使用Toast

【Android】封装使用Toast

作者: wzmyyj | 来源:发表于2018-05-22 18:57 被阅读107次

    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时,只会显示第一次。


    配一张图

    其他

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

    相关文章

      网友评论

      本文标题:【Android】封装使用Toast

      本文链接:https://www.haomeiwen.com/subject/dqzwrftx.html