123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package xn.hxp.weidith
- import android.app.Dialog
- import android.content.Context
- import android.graphics.Color
- import android.graphics.drawable.ColorDrawable
- import android.os.Bundle
- import android.os.Handler
- import android.os.Looper
- import android.os.Message
- import android.util.Log
- import android.view.Gravity
- import android.view.MotionEvent
- import android.view.Window
- import android.view.WindowManager
- import android.widget.Button
- import android.widget.TextView
- import xn.hxp.R
- import xn.hxp.comm.Constants
- import com.blankj.utilcode.util.LogUtils
- //空瓶弹框
- class EmptiesDialog(ct: Context, private var chemicalName:String,private var wasteVolume: String, private var lint: IClickLit) : Dialog(ct) {
- private var butClos: Button? = null
- init {
- requestWindowFeature(Window.FEATURE_NO_TITLE)
- setContentView(R.layout.empties_dialog)
- window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
- window?.setGravity(Gravity.CENTER)
- window?.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT)
- // 设置点击外部空白处不关闭对话框
- setCanceledOnTouchOutside(false)
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- findViewById<TextView>(R.id.chemicalName).text = "确认空瓶出库$chemicalName?"
- if (wasteVolume!=null){
- findViewById<TextView>(R.id.tvOne).text = "使用量:$wasteVolume"
- }
- findViewById<Button>(R.id.butClos).setOnClickListener {
- closHandle()
- dismiss()
- lint.onClickClose()
- }
- findViewById<Button>(R.id.determine).setOnClickListener {
- lint.onDetermineClick()
- closHandle()
- dismiss()
- }
- mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
- mCountDownHandler.sendEmptyMessage(Constants.WHAT_COUNT_DOWN_TWO)
- }
- interface IClickLit {
- fun onClickClose()//关闭
- fun onDetermineClick()//确定
- }
- private fun closHandle() {
- mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
- mCountDownHandler.removeCallbacksAndMessages(null)
- }
- private var mCounter = 0
- private val mCountDownHandler = object : Handler(Looper.getMainLooper()) {
- override fun handleMessage(msg: Message) {
- if (Constants.WHAT_COUNT_DOWN_TWO == msg.what) {
- val countDown = Constants.OFFTIME_TIME - mCounter
- Log.d("======返回时间", "$countDown")
- if (countDown <= 0) {
- dismiss()
- } else {
- sendEmptyMessageDelayed(Constants.WHAT_COUNT_DOWN_TWO, 1000)
- }
- mCounter++
- }
- }
- }
- override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
- // 在触摸事件发生时被调用
- when (ev.action) {
- MotionEvent.ACTION_DOWN -> {
- // 用户按下屏幕时的处理逻辑
- onUserInteraction()
- }
- MotionEvent.ACTION_MOVE -> {
- // 用户在屏幕上移动手指时的处理逻辑
- }
- MotionEvent.ACTION_UP -> {
- // 用户抬起手指时的处理逻辑
- }
- }
- return super.dispatchTouchEvent(ev)
- }
- private fun onUserInteraction() {
- // 在用户与对话框交互时的逻辑处理
- mCounter=0
- }
- }
|