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