• Android Toast 封装,避免Toast消息覆盖,替换系统Toast最好用的封装


    Android Toast 封装,避免Toast消息覆盖,无阻塞,等强大功能

     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    import android.content.Context; 
    import android.os.Handler; 
    import android.os.Looper; 
    import android.widget.Toast; 
       
    /**
     * Toast工具类
     * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
     * @version 2012-5-21 下午9:21:01
     */ 
    public class ToastUtils { 
        private static Handler handler = new Handler(Looper.getMainLooper()); 
        private static Toast toast = null
        private static Object synObj = new Object(); 
       
        /**
         * Toast发送消息,默认Toast.LENGTH_SHORT
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:13:10
         * @param act
         * @param msg
         */ 
        public static void showMessage(final Context act, final String msg) { 
            showMessage(act, msg, Toast.LENGTH_SHORT); 
        
           
        /**
         * Toast发送消息,默认Toast.LENGTH_LONG
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:13:10
         * @param act
         * @param msg
         */ 
        public static void showMessageLong(final Context act, final String msg) { 
            showMessage(act, msg, Toast.LENGTH_LONG); 
        
       
        /**
         * Toast发送消息,默认Toast.LENGTH_SHORT
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:13:35
         * @param act
         * @param msg
         */ 
        public static void showMessage(final Context act, final int msg) { 
            showMessage(act, msg, Toast.LENGTH_SHORT); 
        
           
        /**
         * Toast发送消息,默认Toast.LENGTH_LONG
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:13:35
         * @param act
         * @param msg
         */ 
        public static void showMessageLong(final Context act, final int msg) { 
            showMessage(act, msg, Toast.LENGTH_LONG); 
        
       
        /**
         * Toast发送消息
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:14:09
         * @param act
         * @param msg
         * @param len
         */ 
        public static void showMessage(final Context act, final int msg, 
                final int len) { 
            new Thread(new Runnable() { 
                public void run() { 
                    handler.post(new Runnable() { 
       
                        @Override 
                        public void run() { 
                            synchronized (synObj) { 
                                if (toast != null) { 
                                    toast.cancel(); 
                                    toast.setText(msg); 
                                    toast.setDuration(len); 
                                } else
                                    toast = Toast.makeText(act, msg, len); 
                                
                                toast.show(); 
                            
                        
                    }); 
                
            }).start(); 
        
           
        /**
         * Toast发送消息
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:14:27
         * @param act
         * @param msg
         * @param len
         */ 
        public static void showMessage(final Context act, final String msg, 
                final int len) { 
            new Thread(new Runnable() { 
                public void run() { 
                    handler.post(new Runnable() { 
       
                        @Override 
                        public void run() { 
                            synchronized (synObj) { 
                                if (toast != null) { 
                                    toast.cancel(); 
                                    toast.setText(msg); 
                                    toast.setDuration(len); 
                                } else
                                    toast = Toast.makeText(act, msg, len); 
                                
                                toast.show(); 
                            
                        
                    }); 
                
            }).start(); 
        
       
        /**
         * 关闭当前Toast
         * @author WikerYong   Email:<a href="#">yw_312@foxmail.com</a>
         * @version 2012-5-22 上午11:14:45
         */ 
        public static void cancelCurrentToast() { 
            if (toast != null) { 
                toast.cancel(); 
            
        
    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    【ARTS】打卡第七周
    【ARTS】打卡第六周
    【ARTS】打卡第五周
    【leetcode】 438. Find All Anagrams in a String
    【ARTS】打卡第四周
    【ARTS】打卡第三周
    【leetcode】 11. Container With Most Water
    【ARTS】打卡第二周
    【ARTS】打卡第一周
    深度VS广度——谈谈对测试职业的一些思考
  • 原文地址:https://www.cnblogs.com/hudabing/p/3741487.html
Copyright © 2020-2023  润新知