zoukankan      html  css  js  c++  java
  • 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(); 
            
        
    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    在matlab中出现警告 Function call XX invokes inexact match
    VC2008调用matlab生成的dll和lib
    关于mwArray 的一些资料(一)
    关于C#中的3个timer类(申明是转贴的哦)
    C#教程 PDF
    我也做他个vote machine
    如何用UltraEdit编译C#源程序(再次申明这也是转贴的哦!)
    C#使用技巧调用DLL(还是转贴哦!)
    线程池
    Java web开发中如何自动生成文章html页面
  • 原文地址:https://www.cnblogs.com/hudabing/p/3741487.html
Copyright © 2011-2022 走看看