Android 定义全局 ToastUtils

public class ToastUtils {
   private static Toast toast;

   private static View view;

   private ToastUtils() {
   }

   private static void getToast(Context context) {
      if (toast == null) {
         toast = new Toast(context);
      }
      if (view == null) {
         view = Toast.makeText(context, "", Toast.LENGTH_SHORT).getView();
      }
      toast.setView(view);
   }

   public static void showShortToast(Context context, CharSequence msg) {
      showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT);
   }

   public static void showShortToast(Context context, int resId) {
      showToast(context.getApplicationContext(), resId, Toast.LENGTH_SHORT);
   }

   public static void showLongToast(Context context, CharSequence msg) {
      showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT);
   }

   public static void showLongToast(Context context, int resId) {
      showToast(context.getApplicationContext(), resId, Toast.LENGTH_LONG);
   }

   private static void showToast(Context context, CharSequence msg, int duration) {
      try {
         getToast(context);
         toast.setText(msg);
         toast.setDuration(duration);
         toast.setGravity(Gravity.CENTER, 0, 0);
         toast.show();
      } catch (Exception e) {
         LogUtils.e(e.getMessage());
      }
   }

   private static void showToast(Context context, int resId, int duration) {
      try {
         if (resId == 0) {
            return;
         }
         getToast(context);
         toast.setText(resId);
         toast.setDuration(duration);
         toast.setGravity(Gravity.CENTER, 0, 0);
         toast.show();
      } catch (Exception e) {
         LogUtils.e(e.getMessage());
      }
   }

   public static void cancelToast() {
      if (toast != null) {
         toast.cancel();
      }
   }

}

你可能感兴趣的:(优化,android)