前言
Android各家定制的系统Toast ui都不一样,而且很简单,之前使用只是简单的封装了一个工具类使用,后来看到Lottie之后想着做一个好看点的Toast,所以就抽空好好写了一下。
ToastBox是一个自定义吐司库,可以实现多种自定义toast,有WindowsManger和系统Toast两种实现方式,配合Lottie动画库可以做一些好看的toast
Github上关于Toast的工具很多了,但我就是喜欢造轮子哈哈哈
实例:
ToastBox可以实现自定义View、显示时长、显示位置、各种自定义风格,我这里写了几个常用的Toast,比如网络错误、操作成功、信息、失败等,静态图:
普通的toast:
一些有意思的toast:
success:
fail:
网络错误:
普通信息:
网络错误:
关于LottieToast的演示,可以查看:LottieActivity
Lottie中有很多看好的动画,你也可以自己设计一个。
实现:
具体实现可以看代码,这里不详细介绍了
-
一共有两种toast实现,一是系统toast,二是windows实现,各有好坏,调用的时候可以灵活配置
-
在Application中需要初始化,利用ActivityLifecycleCallbacks用来监听activity生命周期,避免内存泄漏。
快速接入:
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.xluu233:ToastBox:${version}'
}
使用:
stetup1: 在Application中初始化
ToastBoxRegister.init(this) |
初始化时可以配置一些参数
ToastBoxRegister.init(this).apply { |
setup2:简单调用
ToastBox(this).show("This is ToastBox") |
更多参数设置
//正常使用 |
附上项目地址:https://github.com/xluu233/ToastBox
卑微Androider求一个Star
相关文章:
写一个MVVM快速开发框架(一)基础类封装
写一个MVVM快速开发框架(二)组件化改造