- SmartToast(latest version:4.1.9)
- SmartSnackBar(latest version:4.1.2)
- SmartDialog(latest version:4.1.4)
- 关于实现
- 关于作者及技术交流
回到模块导航
如果你对实现感兴趣,请参考我的CSDN博客:
- 2.x 版本 https://blog.csdn.net/jungle_pig/article/details/83959662
- 1.x 版本 https://blog.csdn.net/jungle_pig/article/details/78568493
回到模块导航
如果您在使用过程中发现任何问题,请联系我,我会立即跟进修复和维护。感谢您的支持!
作者:朱志强
微信:
邮箱:vincent.k.zhu@gmail.com
- 三种Toast实现策略:系统window + Toast + dialog,根据情况动态择优选择,以适配兼容各种问题
- 合理的复用策略,避免Toast重复弹跳
- 解决Android 7.1的系统bug——Toast BadTokenException
- 配置Toast风格,如背景颜色,文字大小和颜色等
- 完美解决应用关闭通知权限后Toast不显示问题
- 适配android 11对toast的相关限制
- 自定义toast显示时长
- 通过注解快速自定义新的Toast
- 结合主流app消息提示的效果,提供info、success、error、warning、complete、forbid、wait、fail 8 种类型的Emotion Toast
implementation "io.github.vincent-series:smart-toast:4.1.9"
Kotlin User Document
Java User Document
classic toast | classic toast | classic toast |
---|---|---|
默认背景 | 配置背景和Icon Icon居于文本左侧 |
配置背景和Icon Icon居于文本右侧 |
emotion toast | emotion toast | emotion toast |
---|---|---|
成功 | 警告 | 禁止 |
## SmartSnackBar部分
回到模块导航
SmartSnackBar基于原生Snackbar进行封装改造,不仅使用上更加简易,而且进行了功能扩展:
- 支持顶部弹出
- 支持指定背景颜色
- 支持修改message、actionLabel的文本风格,如字体大小、粗细、颜色
- 支持显示icon及指定icon位置
implementation "io.github.vincent-series:smart-snackbar:4.1.2"
//material lib,such as 1.5.0
implementation 'com.google.android.material:material:x.y.z'
bottom snackbar | bottom snackbar | bottom snackbar |
---|---|---|
classic风格,默认背景 | classic风格,自定义背景 | material风格,自定义背景 |
top snackbar | top snackbar | top snackbar |
---|---|---|
classic风格,默认背景 | classic风格,自定义背景 | material风格,自定义背景 |
- 解决因activity、fragment生命周期导致的BadTokenException、NullPointException等问题
- 通过注解快速自定义Dialog
- 提供主流APP中使用的message、input、list、loading等对话框
implementation "io.github.vincent-series:smart-dialog:4.1.4"
Kotlin User Document
Java User Document
通知对话框 | 确认对话框 | 延时确认对话框 |
---|---|---|
显示一条通知消息,只有确认按钮 | 确认用户操作 | 延时启用确认按钮 一般用于提示用户谨慎操作 |
文本输入对话框 | 数字输入对话框 |
---|---|
点击即选列表对话框 | 单选列表对话框 | 多选列表对话框 |
---|---|---|
通过点击列表项完成选择 | 常规单选列表 | 常规多选列表 |
加载对话框 | 加载对话框 | 加载对话框 |
---|---|---|
BoxSize.LARGE |
BoxSize.MIDDLE |
BoxSize.SMALL |