- 已投入公司項(xiàng)目多時(shí),沒(méi)有任何毛病,可勝任任何需求
本框架意在解決一些極端需求,如果是普通的 Toast 封裝推薦使用 Toaster
集成步驟
- 如果你的項(xiàng)目 Gradle 配置是在
7.0 以下,需要在 build.gradle 文件中加入
allprojects {
repositories {
// JitPack 遠(yuǎn)程倉(cāng)庫(kù):https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
- 如果你的 Gradle 配置是
7.0 及以上,則需要在 settings.gradle 文件中加入
dependencyResolutionManagement {
repositories {
// JitPack 遠(yuǎn)程倉(cāng)庫(kù):https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
- 配置完遠(yuǎn)程倉(cāng)庫(kù)后,在項(xiàng)目 app 模塊下的
build.gradle 文件中加入遠(yuǎn)程依賴
android {
// 支持 JDK 1.8
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// 懸浮窗框架:https://github.com/getActivity/EasyWindow
implementation 'com.github.getActivity:EasyWindow:10.0'
}
使用案例
// 傳入 Activity 對(duì)象表示設(shè)置成局部的,不需要有懸浮窗權(quán)限
// 傳入 Application 對(duì)象表示設(shè)置成全局的,但需要有懸浮窗權(quán)限
new EasyWindow<>(this)
.setContentView(R.layout.toast_hint)
// 設(shè)置成可拖拽的
//.setDraggable()
// 設(shè)置顯示時(shí)長(zhǎng)
.setDuration(1000)
// 設(shè)置動(dòng)畫(huà)樣式
//.setAnimStyle(android.R.style.Animation_Translucent)
// 設(shè)置外層是否能被觸摸
//.setOutsideTouchable(false)
// 設(shè)置窗口背景陰影強(qiáng)度
//.setBackgroundDimAmount(0.5f)
.setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
.setText(android.R.id.message, "點(diǎn)我消失")
.setOnClickListener(android.R.id.message, new EasyWindow.OnClickListener<TextView>() {
@Override
public void onClick(EasyWindow toast, TextView view) {
// 點(diǎn)擊這個(gè) View 后消失
toast.cancel();
// 跳轉(zhuǎn)到某個(gè)Activity
// toast.startActivity(intent);
}
})
.show();
EasyWindow<EasyWindow<*>>(activity).apply {
setContentView(R.layout.toast_hint)
// 設(shè)置成可拖拽的
//setDraggable()
// 設(shè)置顯示時(shí)長(zhǎng)
setDuration(1000)
// 設(shè)置動(dòng)畫(huà)樣式
//setAnimStyle(android.R.style.Animation_Translucent)
// 設(shè)置外層是否能被觸摸
//setOutsideTouchable(false)
// 設(shè)置窗口背景陰影強(qiáng)度
//setBackgroundDimAmount(0.5f)
setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
setText(android.R.id.message, "點(diǎn)我消失")
setOnClickListener(android.R.id.message, EasyWindow.OnClickListener<TextView?> { toast: EasyWindow<*>, view: TextView? ->
// 點(diǎn)擊這個(gè) View 后消失
toast.cancel()
// 跳轉(zhuǎn)到某個(gè)Activity
// toast.startActivity(intent);
})
}.show()
EasyWindow<EasyWindow<*>>(activity)
.setContentView(R.layout.toast_hint)
// 設(shè)置成可拖拽的
//.setDraggable()
// 設(shè)置顯示時(shí)長(zhǎng)
.setDuration(1000)
// 設(shè)置動(dòng)畫(huà)樣式
//.setAnimStyle(android.R.style.Animation_Translucent)
// 設(shè)置外層是否能被觸摸
//.setOutsideTouchable(false)
// 設(shè)置窗口背景陰影強(qiáng)度
//.setBackgroundDimAmount(0.5f)
.setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
.setText(android.R.id.message, "點(diǎn)我消失")
.setOnClickListener(android.R.id.message, EasyWindow.OnClickListener<TextView?> { toast: EasyWindow<*>, view: TextView? ->
// 點(diǎn)擊這個(gè) View 后消失
toast.cancel()
// 跳轉(zhuǎn)到某個(gè)Activity
// toast.startActivity(intent);
})
.show()
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。