对DialogFragment与dialog进行队列的管理,一个关闭后,另一个自动弹出,监听生命周期,还可设置优先级
第一步
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
第二步
dependencies {
implementation 'com.github.yangfeng1994:dialogManager:1.0.2'
}
第三步 将您的DialogFragment 或者dialog 实现 DialogController 接口
val dialogManager = DialogManager.getInstance()
dialogManager.addLifecycle(this) //实现生命周期监听
//添加lifecycle 设置生命周期监听
override fun getControllerLifecycle(): Lifecycle {
return lifecycle
}
//添加类名,对不同fragment或者activity设置唯一性
override fun getControllerClass(): Class<*> {
return this.javaClass
}
//设置fragmentManager
override fun getControllerFragmentManager(): FragmentManager {
return supportFragmentManager
}
//移除监听
override fun onDestroy() {
super.onDestroy()
dialogManager.removeLifecycle(this)
}
addQueue 添加您的弹窗
dialogManager.addQueue(0,false, mFistDialogFragment, this)
设置弹窗唯一性
getTagName() 设置弹窗名
unique() true 唯一 false 不唯一
下载demo更能更好的帮助您使用
- DialogChainHelper 提供的反射思想,让项目调用更方便