1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package com.develop.common.dialog
- import android.os.Bundle
- import android.view.KeyEvent
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.RelativeLayout
- import com.develop.base.mvvm.FullScreenTransparentDialog
- import com.develop.common.databinding.DialogCancelConfirmBinding
- import com.develop.common.databinding.DialogCancelConfirmImageBinding
- import org.greenrobot.eventbus.EventBus
- class CancelConfirmImageDialog(
- ) : FullScreenTransparentDialog() {
- lateinit var binding: DialogCancelConfirmImageBinding
- var title = ""
- var cancelStr = ""
- var confirmStr = ""
- var showConfirm = true
- var showCancel = true
- var onDialogClickListener: OnDialogClickListener? = null
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
- ): View {
- binding = DialogCancelConfirmImageBinding.inflate(
- inflater, container, false
- )
- binding.tvYes.setOnClickListener {
- onDialogClickListener?.onConfirm()
- removeSelf()
- }
- binding.tvCancel.setOnClickListener {
- onDialogClickListener?.onCancel()
- removeSelf()
- }
- binding.tvTitle.text = title
- if (cancelStr.isNotEmpty()) {
- binding.tvCancel.text = cancelStr
- }
- if (confirmStr.isNotEmpty()) {
- binding.tvYes.text = confirmStr
- }
- //只显示确认按钮
- if (showConfirm && !showCancel) {
- binding.tvCancel.visibility = View.GONE;
- binding.tvYes.visibility = View.VISIBLE;
- val layoutParams = binding.tvYes.layoutParams as RelativeLayout.LayoutParams;
- layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL)
- binding.tvCancel.layoutParams = layoutParams
- }
- if (!showConfirm && showCancel) {
- binding.tvYes.visibility = View.GONE;
- binding.tvCancel.visibility = View.VISIBLE;
- val layoutParams = binding.tvCancel.layoutParams as RelativeLayout.LayoutParams;
- layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL)
- binding.tvCancel.layoutParams = layoutParams
- }
- //监听旋钮点击回调
- setOnKeyFun(object : onKeyFun {
- override fun onType() {
- if (binding.tvYes.visibility == View.VISIBLE) {
- binding.tvYes.performClick() //默认点击控件
- } else if (binding.tvCancel.visibility == View.VISIBLE) {
- binding.tvCancel.performClick()
- }
- }
- })
- return binding.root
- }
- fun onConfirmClick() {
- binding.tvYes.callOnClick()
- }
- interface OnDialogClickListener {
- fun onConfirm()
- fun onCancel()
- }
- }
|