123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package com.xkl.cdl.dialog
-
- import android.graphics.drawable.Drawable
- import android.os.Bundle
- import android.view.View
- import androidx.core.content.ContextCompat
- import com.suliang.common.AppConfig
- import com.suliang.common.base.BaseDialogFragment
- import com.suliang.common.extension.click
- import com.suliang.common.util.DrawableUti
- import com.xkl.cdl.databinding.DialogCommonBinding
-
- /**
- * author suliang
- * create 2022/4/15 10:22
- * Describe: 通用提示弹窗
- */
- class CommonDialog private constructor() : BaseDialogFragment<DialogCommonBinding>() {
-
- companion object {
- @JvmStatic
- fun newInstance(dialogBean : CommonDialogBean) : CommonDialog {
- val args = Bundle()
- args.putParcelable(AppConfig.INTENT_1, dialogBean)
- val fragment = CommonDialog()
- fragment.arguments = args
- return fragment
- }
-
- @JvmStatic
- fun newInstance(dialogBean : CommonDialogBean, img : Drawable) : CommonDialog {
- val args = Bundle()
- args.putParcelable(AppConfig.INTENT_1, dialogBean)
- val byteArray = DrawableUti.bitmapToByteArray(DrawableUti.drawableToBitmap(img))
- args.putByteArray(AppConfig.INTENT_2, byteArray)
- val fragment = CommonDialog()
- fragment.arguments = args
- return fragment
- }
- }
-
- lateinit var onCommonDialogButtonClickListener : (dialog : CommonDialog, isRightClick : Boolean) -> Unit
-
-
- override fun initFragment() {
- (requireArguments()[AppConfig.INTENT_1] as CommonDialogBean).run {
-
- titleColor?.let {
- binding.tvTitle.setTextColor(ContextCompat.getColor(requireContext(),it))
- }
- titleText?.let {
- binding.tvTitle.setText(it)
- binding.tvTitle.visibility = View.VISIBLE
- }
- contentColor?.let {
- binding.tvContent.setTextColor(ContextCompat.getColor(requireContext(),it))
- }
- contentText?.let {
- binding.tvContent.setText(it)
- binding.tvContent.visibility = View.VISIBLE
- }
- leftColor?.let {
- binding.tvLeft.setTextColor(ContextCompat.getColor(requireContext(),it))
- }
- leftText?.let {
- binding.tvLeft.setText(it)
- binding.tvLeft.click {
- onCommonDialogButtonClickListener(this@CommonDialog,false)
- }
- }?:let {
- binding.tvLeft.visibility = View.GONE
- binding.vSplit.visibility = View.GONE
- }
- rightColor?.let {
- binding.tvRight.setTextColor(ContextCompat.getColor(requireContext(),it))
- }
- rightText?.let {
- binding.tvRight.setText(it)
- binding.tvRight.click {
- onCommonDialogButtonClickListener(this@CommonDialog,true)
- }
- }
-
- imgFlag?.let {
- binding.img.setImageResource(it)
- binding.img.visibility = View.VISIBLE
- }
- }
-
- (requireArguments()[AppConfig.INTENT_2] as? ByteArray)?.let {
- binding.img.setImageBitmap(DrawableUti.byteArrayToBitmap(it))
- binding.img.visibility = View.VISIBLE
- }
-
-
- }
-
-
- }
|