这可能是性能最优、使用最简单,支持自定义,不需要通知栏权限的吐司
Github传送地址,欢迎Star
已投入公司项目多时,没有任何毛病,可胜任任何需求,点击此处下载Demo
想了解实现原理的可以点击此链接查看:ToastUtils 源码
集成步骤
dependencies {
implementation 'com.hjq:toast:5.0'
}
复制代码
初始化Toast
// 在Application中初始化
ToastUtils.init(this);
复制代码
显示Toast
ToastUtils.show("我是吐司");
复制代码
获取Toast对象
ToastUtils.getToast();
复制代码
设置Toast布局
ToastUtils.setView();
复制代码
自定义Toast样式
如果对Toast的默认样式不满意,可以在Application初始化样式,具体可参考ToastBlackStyle类的实现
ToastUtils.initStyle(new IToastStyle());
复制代码
框架亮点
-
无需权限:不管有没有授予通知栏权限都不影响吐司的弹出
-
功能强大:不分主次线程都可以弹出Toast,自动区分资源id和int类型
-
使用简单:只需传入文本,会自动根据文本长度决定吐司显示的时长
-
性能最佳:单例吐司,整个Toast只有一个TextView,并且通过代码创建
-
体验最优:限制Toast短时间内弹出的次数,避免频繁弹出造成不良的用户体验
-
支持多种样式:默认为黑色样式,夜间模式可使用白色样式,还有仿QQ吐司样式
-
支持自定义样式:吐司(背景、圆角、重心、偏移),文字(大小、颜色、边距)
-
支持自定义扩展:支持获取ToastUtils中的Toast对象,支持重新自定义Toast布局
-
支持全局配置样式:可以在Application中初始化Toast样式,达到一劳永逸的效果
-
框架兼容性良好:本框架不依赖任何第三方库,支持Eclipse和Studio的集成使用
关于通知栏权限
本框架已经完美解决这个问题(禁用通知栏权限后需要重启应用才后生效,请以Demo测试为主)
具体解决方案可见:Toast通知栏权限填坑指南