這可能是性能優、使用簡單,支持自定義,不需要通知欄權限的吐司
已投入公司項目多時,沒有任何毛病,可勝任任何需求
想了解實現原理的可以點擊此鏈接查看: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,自動識別資源 id 和 int 類型
使用簡單:只需傳入文本,會自動根據文本長度決定吐司顯示的時長
性能最佳:使用懶加載模式,只在顯示時創建 Toast,不占用 Application 啟動時間
體驗最佳:顯示下一個 Toast 會取消上一個 Toast 的顯示,真正做到即顯即示
全局統一:可以在 Application 中初始化 Toast 樣式,達到一勞永逸的效果
關于通知欄權限
本框架已經完美解決這個問題,(請以Demo測試為主)
具體解決方案可見:Toast通知欄權限填坑指南