package com.xw.common import android.content.Context import android.graphics.Color import android.os.Handler import android.os.Looper import android.text.method.LinkMovementMethod import android.util.TypedValue import android.view.Gravity import android.view.WindowManager import android.widget.Button import androidx.appcompat.widget.AppCompatTextView import androidx.core.content.ContextCompat import androidx.core.view.isVisible import androidx.databinding.DataBindingUtil import com.afollestad.materialdialogs.LayoutMode import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.bottomsheets.BottomSheet import com.afollestad.materialdialogs.customview.customView import com.afollestad.materialdialogs.customview.getCustomView import com.xw.common.databinding.DialogShowSelectBinding object CommonDialog { /** * 通用提示弹窗 * @param content 内容 * @param leftBlock 回调事件 返回true dismiss * @param rightBlock 回调事件 返回true dismiss */ fun showTipsDialog( context: Context, content: String, leftText: String? = "取消", rightText: String? = "确定", leftBlock: () -> Boolean = { true }, rightBlock: () -> Boolean = { true } ) { showCommonTipsDialog( context = context, content = content, leftText = leftText, rightText = rightText, leftBlock = { dialog -> if (leftBlock.invoke()) { dialog.dismiss() } }, rightBlock = { dialog -> if (rightBlock.invoke()) { dialog.dismiss() } }, ) } /** * 通用提示弹窗 * @param content 内容 * @param leftBlock 回调事件 返回true dismiss * @param rightBlock 回调事件 返回true dismiss */ fun showCommonTipsDialog( context: Context, content: String, leftText: String? = "取消", rightText: String? = "确定", leftBlock: (MaterialDialog) -> Unit = { }, rightBlock: (MaterialDialog) -> Unit = { } ) { Handler(Looper.getMainLooper()).post { val dialog = MaterialDialog(context).apply { if (!BuildConfig.DEBUG) { window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE)//禁止截屏 } customView( R.layout.dialog_confirm, noVerticalPadding = true, dialogWrapContent = false ) cancelable(true) cornerRadius(15f) val tvContent = findViewById(R.id.content) val btnLeft = findViewById