一 : 自定义Toast
public class ToastView { public static Toast toast; private int time; private Timer timer; public ToastView(Context context, String text) { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.toast_view, null); TextView t = (TextView) view.findViewById(R.id.toast_text); t.setText(text); if(toast != null) { toast.cancel(); } toast = new Toast(context); toast.setDuration(Toast.LENGTH_SHORT); toast.setView(view); } public ToastView(Context context, int text) { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.toast_view, null); TextView t = (TextView) view.findViewById(R.id.toast_text); t.setText(text); if(toast != null) { toast.cancel(); } toast = new Toast(context); toast.setDuration(Toast.LENGTH_SHORT); toast.setView(view); } //设置toast显示位置 public void setGravity(int gravity, int xOffset, int yOffset) { //toast.setGravity(Gravity.CENTER, 0, 0); //居中显示 toast.setGravity(gravity, xOffset, yOffset); } //设置toast显示时间 public void setDuration(int duration) { toast.setDuration(duration); } //设置toast显示时间(自定义时间) public void setLongTime(int duration) { //toast.setDuration(duration); time = duration; timer = new Timer(); timer.schedule(new TimerTask(){ @Override public void run() { if(time-1000 >= 0) { show(); time= time - 1000; } else { timer.cancel(); } } }, 0, 1000); } public void show() { toast.show(); } public static void cancel() { if(toast != null) { toast.cancel(); } } }
这样用的~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ToastView toast = new ToastView(getBLApplication(), "请确保上一个设备断开蓝牙连接"); toast.setLongTime(30000); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
// 二 : 通过线程限制Toast显示(解决每点一下,就弹出一个Toast,点击次数过多的话....)
public static void toastMessage(final Context context, final String message, final int duration) { Handler handler = new Handler(context.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Toast.makeText(context, message, duration).show(); } }); }