import android.annotation.SuppressLint;
import android.content.Context;
import android.view.View;
import android.widget.Toast;
public class ToastUtil {
private static Toast toast;
private static View view;
private ToastUtil() {
}
@SuppressLint("ShowToast")
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_LONG);
}
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.show();
} catch (Exception e) {
LogUtil.d(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.show();
} catch (Exception e) {
LogUtil.d(e.getMessage());
}
}
}
android全局Toast
最新推荐文章于 2024-08-01 11:35:24 发布
本文介绍了一个名为ToastUtil的自定义全局Toast工具类,该类简化了在Android应用中显示Toast消息的过程。通过静态方法showShortToast和showLongToast,开发者可以方便地设置短时或长时显示的Toast,并传入CharSequence或资源ID作为显示内容。工具类内部使用了单例模式和静态初始化来避免频繁创建和销毁Toast对象,提高了效率。
2796

被折叠的 条评论
为什么被折叠?



