Android弹出Toast工具类总结

时间:2021-12-26 10:54:30

 Android弹出Toast工具类总结,包括系统自带的,也包括自定义的。

 

public class ToastUtil {
    public ToastUtil() {
    }

    public static Toast showShortToast(Context context, String text) {
        Toast toast = Toast.makeText(context, text, 0);
        toast.show();
        return toast;
    }

    public static Toast showShortToastCenter(Context context, String text) {
        Toast toast = Toast.makeText(context, text, 0);
        toast.setGravity(17, 0, 0);
        toast.show();
        return toast;
    }

    public static Toast showShortToast(Context context, @StringRes int textResId) {
        Toast toast = Toast.makeText(context, I18nUtil.getString(textResId, new Object[0]), 0);
        toast.show();
        return toast;
    }

    public static Toast showLongToast(Context context, String text) {
        Toast toast = Toast.makeText(context, text, 1);
        toast.show();
        return toast;
    }

    public static Toast showLongToast(Context context, @StringRes int textResId) {
        Toast toast = Toast.makeText(context, I18nUtil.getString(textResId, new Object[0]), 1);
        toast.show();
        return toast;
    }

    public static Toast showLongToastImage(Context context, @DrawableRes int imgResId) {
        Toast toast = new Toast(context);
        FrameLayout fl = new FrameLayout(context);
        ImageView iv = new ImageView(context);
        iv.setImageResource(imgResId);
        fl.addView(iv);
        toast.setView(fl);
        toast.setDuration(1);
        toast.show();
        return toast;
    }

    public static Toast showToastWithIcon(Context context, String text, @DrawableRes int img, OnAttachStateChangeListener listener, int duration) {
        Toast toast = new Toast(context);
        View container = View.inflate(context, layout.view_custom_toast_action_success, (ViewGroup)null);
        if(listener != null) {
            container.addOnAttachStateChangeListener(listener);
        }

        TextView tv = (TextView)container.findViewById(id.view_toast_text_img_tv);
        ImageView iv = (ImageView)container.findViewById(id.view_toast_text_img_iv);
        toast.setGravity(119, 0, 0);
        toast.setDuration(duration);
        toast.setView(container);
        tv.setText(text);
        iv.setImageResource(img);
        toast.show();
        return toast;
    }

    public static Toast showToastWithIcon(Context context, @StringRes int text, @DrawableRes int img, OnAttachStateChangeListener listener, int duration) {
        return showToastWithIcon(context, I18nUtil.getString(text, new Object[0]), img, listener, duration);
    }
}