package com.sinata.xqmuse.dialog
|
|
import android.content.DialogInterface
|
import android.view.Gravity
|
import android.view.KeyEvent
|
import androidx.core.os.bundleOf
|
import androidx.fragment.app.FragmentManager
|
import cn.sinata.xldutils.utils.showAllowingStateLoss
|
import com.sinata.xqmuse.R
|
import kotlinx.android.synthetic.main.dialog_tip_tree.*
|
import org.jetbrains.anko.support.v4.toast
|
|
class TreeTipDialog:BaseDialogFragment() {
|
override fun setContentView() = R.layout.dialog_tip_tree
|
|
override fun setGravity() = Gravity.CENTER
|
|
private val title by lazy { arguments?.getString("title") }
|
private val msg by lazy { arguments?.getString("msg") }
|
|
var onDismissCallback:OnDismissCallback? = null
|
override var canceledOnTouchOutside = false
|
|
override fun initView() {
|
if (msg!=null) //升级弹窗时,语音播完才能关闭弹窗
|
tv_ok.isEnabled = false
|
tv_ok.setOnClickListener { dismissAllowingStateLoss() }
|
if (!title.isNullOrEmpty())
|
tv_title.text = title
|
if (!msg.isNullOrEmpty())
|
tv_msg.text = msg
|
dialog?.setOnKeyListener { dialog, keyCode, event ->
|
if (keyCode == KeyEvent.KEYCODE_BACK&&event.action == KeyEvent.ACTION_UP&&!tv_ok.isEnabled){
|
//语音未播完不可返回
|
return@setOnKeyListener true
|
}
|
return@setOnKeyListener false
|
}
|
}
|
|
fun canDismiss(){
|
tv_ok?.isEnabled = true
|
}
|
|
override fun onDismiss(dialog: DialogInterface) {
|
super.onDismiss(dialog)
|
onDismissCallback?.onDismiss()
|
}
|
|
interface OnDismissCallback{
|
fun onDismiss()
|
}
|
|
companion object{
|
fun show(fm:FragmentManager,title:String?=null,msg:String?=null):TreeTipDialog{
|
val treeTipDialog = TreeTipDialog()
|
treeTipDialog.arguments = bundleOf("title" to title,"msg" to msg)
|
treeTipDialog.showAllowingStateLoss(fm,"first")
|
return treeTipDialog
|
}
|
}
|
}
|