android Toast 可以統一取消封裝

/**
 * Toast統一管理類
 */
public class ToastUtil {
    private static Toast mToast;

    /*cannot be instantiated*/
    private ToastUtil() {
        throw new UnsupportedOperationException("cannot be instantiated");
    }

    /**
     * 短時間顯示Toast
     *
     * @param context
     * @param message
     */
    public static void showShort(Context context, CharSequence message) {
        if (context != null) {
            showToast(context, message, Toast.LENGTH_SHORT);
        }
    }

    /**
     * 短時間顯示Toast
     *
     * @param context
     * @param message
     */
    public static void showShort(Context context, int message) {
        if (context != null) {
            showToast(context, message, Toast.LENGTH_SHORT);
        }
    }

    /**
     * 長時間顯示Toast
     *
     * @param context
     * @param message
     */
    public static void showLong(Context context, CharSequence message) {
        if (context != null) {
            showToast(context, message, Toast.LENGTH_LONG);
        }
    }

    /**
     * 長時間顯示Toast
     *
     * @param context
     * @param message
     */
    public static void showLong(Context context, int message) {
        if (context != null) {
            showToast(context, message, Toast.LENGTH_LONG);
        }
    }

    /**
     * 自定義顯示Toast時間
     *
     * @param context
     * @param message
     * @param duration
     */
    public static void showToast(Context context, int message, int duration) {
        if (context != null) {
            showMyToast(context, context.getString(message), duration);
        }
    }

    /**
     * 自定義顯示Toast時間
     *
     * @param context
     * @param message
     * @param duration
     */
    public static void showToast(Context context, CharSequence message, int duration) {
        if (context != null) {
            showMyToast(context, String.valueOf(message), duration);
        }
    }

    /**
     * 執行toast
     */
    public static void showMyToast(Context context, String msg, int duration) {
        if (mToast == null) {
            mToast = Toast.makeText(context, msg, duration);
        } else {
            mToast.setText(msg);
            mToast.setDuration(duration);
        }
        mToast.show();
    }

    /**
     * 取消所有的toast
     */
    public static void closeToast() {
        if (mToast != null) {
            mToast.cancel();
        }
    }

}
//使用方式
ToastUtil.showShort(this, "驗證碼錯誤!");

//在活動銷燬或業務結束後,取消所有toast提示
ToastUtil.closeToast();

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章