码云地址:Gitee
已投入公司项目多时,没有任何毛病,可胜任任何需求,点击此处下载Demo
想了解实现原理的可以点击此链接查看:ToastUtils 源码
本框架意在解决一些常见需求,如果是有一些极端的需求推荐使用 XToast
dependencies {
implementation 'com.hjq:toast:8.6'
}
// 在 Application 中初始化
ToastUtils.init(this);
ToastUtils.show("我是吐司");
// 设置Toast布局
ToastUtils.setView();
// 设置吐司重心
ToastUtils.setGravity();
// 获取Toast对象
ToastUtils.getToast();
如果对Toast的默认样式不满意,可以在Application初始化样式,具体可参考ToastBlackStyle类的实现
ToastUtils.initStyle(new IToastStyle());
-keep class com.hjq.toast.** {*;}
-
无需权限:不管有没有授予通知栏权限都不影响吐司的弹出
-
功能强大:不分主次线程都可以弹出Toast,自动区分资源id和int类型
-
使用简单:只需传入文本,会自动根据文本长度决定吐司显示的时长
-
性能最佳:单例吐司,整个Toast只有一个TextView,并且通过代码创建
-
体验最优:限制Toast短时间内弹出的次数,避免频繁弹出造成不良的用户体验
-
支持多种样式:默认为黑色样式,夜间模式可使用白色样式,还有仿QQ吐司样式
-
支持自定义样式:吐司(背景、圆角、重心、偏移),文字(大小、颜色、边距)
-
支持自定义扩展:支持获取ToastUtils中的Toast对象,支持重新自定义Toast布局
-
支持全局配置样式:可以在Application中初始化Toast样式,达到一劳永逸的效果
-
框架兼容性良好:本框架不依赖任何第三方库,支持 Eclipse 和 Studio 的集成使用
本框架已经完美解决这个问题(禁用通知栏权限后需要重启应用、重启应用、重启应用才能后生效,请以Demo测试为主)
在开启 APP 的同时关闭通知栏权限的情况极少(测试人员才会这么做),所以仅在 Application 初始化的时候才对没有通知栏权限的情况进行判断和兼容
具体解决方案可见:Toast通知栏权限填坑指南
右击项目,Replace in path,勾选 Regex 选项
Toast\.makeText\([^,]+,\s(.+{1}),\s[^,]+\)\.show\(\);
替换使用
ToastUtils.show($1);
包名替换
import android.widget.Toast;
import com.hjq.toast.ToastUtils;
-
架构工程:AndroidProject
-
网络框架:EasyHttp
-
日志框架:Logcat
-
权限框架:XXPermissions
-
标题栏框架:TitleBar
-
国际化框架:MultiLanguages
-
悬浮窗框架:XToast
Copyright 2018 Huang JinQun
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.