ToastUtil工具类
程序员文章站
2022-03-11 22:53:07
在Android开发中,有些时候,可能要求定制Toast,例如:前面显示一个图标,或者正确操作显示绿色,错误操作,显示红色;这时候可以自己定义,可以使用第三方框架。//toast工具类//https://github.com/GrenderG/Toastyimplementation 'com.github.GrenderG:Toasty:1.4.2'项目的根目录build.gradle 文件buildscript { repositories { google()...
封装的目的:不让业务直接操作具体的框架,而操作我们的API,这样方便后面重构。
在Android开发中,有些时候,可能要求定制Toast,例如:前面显示一个图标,或者正确操作显示绿色,错误操作,显示红色;这时候可以自己定义,可以使用第三方框架。
//toast工具类
//https://github.com/GrenderG/Toasty
implementation 'com.github.GrenderG:Toasty:1.4.2'
项目的根目录build.gradle 文件
buildscript {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }//github网站上说这里也要配置
}
...
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
使用如下:
1.在应用上下文初始化
/**
* 全局Application
*/
public class AppContext extends Application {
/**
* 创建了 (第一次创建应用或者杀掉应用后就会执行一次这个方法)
*/
@Override
public void onCreate() {
super.onCreate();
//初始化toast工具类
Toasty.Config.getInstance().apply();
}
}
2.定义工具类
/**
* Toast工具类
*/
public class ToastUtil {
/**
* 上下文
* 这里的话,是持有应用的引用,所以应该不会造成内存泄漏
*/
@SuppressLint("StaticFieldLeak")//最好写上这句(教程没有的)
private static Context context;
/**
* 初始化方法
*
* @param context Context
*/
public static void init(Context context) {
ToastUtil.context = context;
}
/**
* 显示短时间错误toast
* <p>
* 校验参数
*
* @param id @StringRe:必须是字符串的id
*/
// public static void errorShortToast(@NonNull Context context, @StringRes int id) {
public static void errorShortToast(@StringRes int id) {
//必须要调用show方法
Toasty.error(context, id, Toasty.LENGTH_SHORT).show();
}
/**
* 显示短时间错误toast 字符串的形式 目前requestErrorHandler方法使用到
*
* @param message Message
*/
public static void errorShortToast(String message) {
//必须要调用show方法
Toasty.error(context, message, Toasty.LENGTH_SHORT).show();
}
/**
* 显示长时间错误toast
* @param id 字符串id
*/
// public static void errorLongToast(@NonNull Context context, @StringRes int id) {
public static void errorLongToast(@StringRes int id) {
Toasty.error(context, id, Toasty.LENGTH_LONG).show();
}
/**
* 显示短时间正确toast
*
* @param id 通过id找字符串
*/
// public static void successShortToast(@NonNull Context context, @StringRes int id) {
public static void successShortToast(@StringRes int id) {
Toasty.success(context, id, Toasty.LENGTH_LONG).show();
}
/**
* 显示短时间正确toast
*
* @param data 字符串传入
*/
public static void successShortToast(String data) {
Toasty.success(context, data, Toasty.LENGTH_SHORT).show();
}
}
3.使用工具类
ToastUtil.successShortToast(getMainActivity(), "登录成功");
ToastUtil.errorShortToast(getMainActivity(), R.string.enter_username);
本文地址:https://blog.csdn.net/qq_40082314/article/details/108740319
上一篇: Java 发送http请求(get、post)的示例
下一篇: 软键盘将布局顶上去