1:在酒吧房小黑屋中,点击送礼添加二次弹窗,并且在点击退出房间的时候,添加二次弹框确认
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
package com.xscm.modulemain.dialog.barRoom
|
||||
|
||||
import android.content.Context
|
||||
import android.view.Gravity
|
||||
import android.view.ViewGroup
|
||||
import com.blankj.utilcode.util.ScreenUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.databinding.DialogFlirtatiousBinding
|
||||
import com.xscm.modulemain.databinding.DialogPrivateBinding
|
||||
import com.xscm.moduleutil.bean.WalletBean
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import com.xscm.moduleutil.utils.ColorManager
|
||||
import com.xscm.moduleutil.utils.SpUtil
|
||||
import com.xscm.moduleutil.widget.dialog.BaseDialog
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2026/1/13 23:24
|
||||
* 用途:酒吧房交友小屋送礼添加弹框
|
||||
*/
|
||||
class PrivateGiftDialog (context: Context) :
|
||||
BaseDialog<DialogPrivateBinding>(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) {
|
||||
|
||||
// 定义回调接口
|
||||
private var onConfirmCallback: ((Boolean) -> Unit)? = null
|
||||
private var isSelected: Boolean = false
|
||||
// 设置回调接口的方法
|
||||
fun setOnConfirmListener(callback: (Boolean) -> Unit): PrivateGiftDialog {
|
||||
onConfirmCallback = callback
|
||||
return this
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.dialog_private
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
setupWindow()
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(
|
||||
mBinding.tvConfirm,
|
||||
ColorManager.getInstance().primaryColorInt,
|
||||
53
|
||||
)
|
||||
mBinding.tvConfirm.setTextColor(ColorManager.getInstance().buttonColorInt)
|
||||
// 设置点击事件
|
||||
mBinding.ivClose.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
mBinding.tvConfirm.setOnClickListener {
|
||||
onConfirmCallback?.invoke(isSelected)
|
||||
dismiss()
|
||||
}
|
||||
mBinding.tvCancel.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
mBinding.vCheckbox.setOnClickListener {
|
||||
it.isSelected = !it.isSelected
|
||||
isSelected = it.isSelected
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fun show(giftName: String, sexy_coin: Int) {
|
||||
super.show()
|
||||
mBinding.tvTitle.text = "确认送出 ${giftName} 礼物吗?共计需要 ${sexy_coin}个 金币。"
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
// 初始化数据,如果需要的话
|
||||
RetrofitClient.getInstance().wallet(object : BaseObserver<WalletBean>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
}
|
||||
|
||||
override fun onNext(t: WalletBean) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
private fun setupWindow() {
|
||||
val window = window ?: return
|
||||
window.setGravity(Gravity.CENTER)
|
||||
window.setLayout(
|
||||
(ScreenUtils.getScreenWidth() * 315f / 375).toInt(),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
window.setBackgroundDrawableResource(android.R.color.transparent)
|
||||
|
||||
val params = window.attributes
|
||||
params.windowAnimations = com.xscm.moduleutil.R.style.BaseDialogStyleH
|
||||
window.attributes = params
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user