2025年Toaster - Android 吐司框架,专治 Toast 各种疑难杂症

Toaster - Android 吐司框架,专治 Toast 各种疑难杂症官网 https github com getActivity Toaster 这可能是性能优 使用简单 支持自定义 不需要通知栏权限的吐司 想了解实现原理的可以点击此链接查看 Toaster 源码 集成步骤 如果你的项目 Gradle 配置是在 7 0 以下 需要在 build gradle

大家好,我是讯享网,很高兴认识大家。

官网

https://github.com/getActivity/Toaster

这可能是性能优、使用简单,支持自定义,不需要通知栏权限的吐司

  • 想了解实现原理的可以点击此链接查看:Toaster 源码


讯享网

集成步骤

  • 如果你的项目 Gradle 配置是在 7.0 以下,需要在 build.gradle 文件中加入
allprojects { repositories { // JitPack 远程仓库:https://jitpack.io maven { url 'https://jitpack.io' } } }

讯享网
  • 如果你的 Gradle 配置是 7.0 及以上,则需要在 settings.gradle 文件中加入
讯享网dependencyResolutionManagement { repositories { // JitPack 远程仓库:https://jitpack.io maven { url 'https://jitpack.io' } }
  • 配置完远程仓库后,在项目 app 模块下的 build.gradle 文件中加入远程依赖
android { // 支持 JDK 1.8 compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } } dependencies { // 吐司框架:https://github.com/getActivity/Toaster implementation 'com.github.getActivity:Toaster:12.0' }

初始化框架

讯享网public class XxxApplication extends Application { @Override public void onCreate() { super.onCreate(); // 初始化 Toast 框架 Toaster.init(this); } }

框架 API 介绍

// 显示 Toast Toaster.show(CharSequence text); Toaster.show(int id); Toaster.show(Object object); // debug 模式下显示 Toast Toaster.debugShow(CharSequence text); Toaster.debugShow(int id); Toaster.debugShow(Object object); // 延迟显示 Toast Toaster.delayedShow(CharSequence text, long delayMillis); Toaster.delayedShow(int id, long delayMillis); Toaster.delayedShow(Object object, long delayMillis); // 显示短 Toast Toaster.showShort(CharSequence text); Toaster.showShort(int id); Toaster.showShort(Object object); // 显示长 Toast Toaster.showLong(CharSequence text); Toaster.showLong(int id); Toaster.showLong(Object object); // 自定义显示 Toast Toaster.show(ToastParams params); // 取消 Toast Toaster.cancel(); // 设置 Toast 布局(全局生效) Toaster.setView(int id); // 设置 Toast 样式(全局生效) Toaster.setStyle(IToastStyle<?> style); // 获取 Toast 样式 Toaster.getStyle() // 判断当前框架是否已经初始化 Toaster.isInit(); // 设置 Toast 策略(全局生效) Toaster.setStrategy(IToastStrategy strategy); // 获取 Toast 策略 Toaster.getStrategy(); // 设置 Toast 重心和偏移 Toaster.setGravity(int gravity); Toaster.setGravity(int gravity, int xOffset, int yOffset); // 设置 Toast 拦截器(全局生效) Toaster.setInterceptor(IToastInterceptor interceptor); // 获取 Toast 拦截器 Toaster.getInterceptor();

框架亮点

  • 一马当先:首款适配 Android 11 的吐司框架,开发者无需关心适配过程
  • 无需权限:不管有没有授予通知栏权限都不影响吐司的弹出
  • 兼容性强:处理原生 Toast 在 Android 7.1 产生崩溃的历史遗留问题
  • 功能强大:不分主次线程都可以弹出Toast,自动识别资源 id 和 int 类型
  • 使用简单:只需传入文本,会自动根据文本长度决定吐司显示的时长
  • 性能**:使用懒加载模式,只在显示时创建 Toast,不占用 Application 启动时间
  • 体验**:显示下一个 Toast 会取消上一个 Toast 的显示,真正做到即显即示
  • 全局统一:可以在 Application 中初始化 Toast 样式,达到一劳永逸的效果

关于通知栏权限

  • 本框架已经完美解决这个问题,(请以Demo测试为主)
  • 具体解决方案可见:Toast通知栏权限填坑指南
     
小讯
上一篇 2025-02-23 19:06
下一篇 2025-03-16 14:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/45780.html