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(); } } } |