Toast工具类

Toast工具类

Android 中 Toast的封装使用

/**

  • Toast工具类

  • Create by MR.Z on 2019/6/12
    */
    public class ToastUtil {
    // private static Toast toast;

    /**

    • 在非UI线程中,这个方法可以将Toast显示在UI线程
    • 原理,追加toast在消息队列中
    • 千万别在UI线程中使用
      */
      public static void showOnUIThread(Context context, final CharSequence text) {
      Looper.prepare();
      showToast(context, text, Toast.LENGTH_SHORT, Gravity.CENTER);
      Looper.loop();
      }

    private static void showToast(Context context, CharSequence msg, int duration, int gravity) {
    // if (toast == null) {
    Toast toast = Toast.makeText(context, msg, duration);
    // }else {
    // toast.setText(msg);
    // }
    toast.setGravity(gravity, 0, 100);
    toast.show();
    }

    private static void showToast(Context context, int strId, int duration, int gravity) {
    // if (toast == null) {
    Toast toast = Toast.makeText(context, strId, duration);
    // }else {
    // toast.setText(strId);
    // }
    toast.setGravity(gravity, 0, 100);
    toast.show();
    }

    /**

    • 一般Toast
      */
      public static void show(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_SHORT, Gravity.BOTTOM);
      }

    /**

    • 一般Toast
      */
      public static void show(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_SHORT, Gravity.BOTTOM);
      }

    /**

    • 居中Toast
      */
      public static void showCenter(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_SHORT, Gravity.CENTER);
      }

    /**

    • 居中Toast
      */
      public static void showCenter(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_SHORT, Gravity.CENTER);
      }

    /**

    • 顶部Toast
      */
      public static void showTop(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_SHORT, Gravity.TOP);
      }

    /**

    • 顶部Toast
      */
      public static void showTop(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_SHORT, Gravity.TOP);
      }

    /**

    • 长时间Toast
      */
      public static void showLong(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_LONG, Gravity.BOTTOM);
      }

    /**

    • 长时间Toast
      */
      public static void showLong(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_LONG, Gravity.BOTTOM);
      }

    /**

    • 长时间居中Toast
      */
      public static void showLCenter(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_LONG, Gravity.CENTER);
      }

    /**

    • 长时间居中Toast
      */
      public static void showLCenter(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_LONG, Gravity.CENTER);
      }

    /**

    • 长时间顶部Toast
      */
      public static void showLTop(Context context, String msg) {
      showToast(context, msg, Toast.LENGTH_LONG, Gravity.TOP);
      }

    /**

    • 长时间顶部Toast
      */
      public static void showLTop(Context context, int strId) {
      showToast(context, strId, Toast.LENGTH_LONG, Gravity.TOP);
      }
      }
上一篇:unifalcon Toast遇到的问题


下一篇:toast信息