lmw
21 小时以前 b6d14ec6c19cddb1c8caf1d024e77d250a203929
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.dollearn.student.dialog
 
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.screenWidth
import com.dollearn.student.R
import kotlinx.android.synthetic.main.dialog_tip_game.*
import org.jetbrains.anko.wrapContent
 
class GameTipDialog: DialogFragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
            inflater.inflate(R.layout.dialog_tip_game,container,false)
 
    private val price by  lazy { arguments?.getDouble("price")?:0.0 }
    private val coin by  lazy { arguments?.getDouble("coin")?:0.0 }
    private val integral by  lazy { arguments?.getInt("integral")?:0 }
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
    }
 
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        dialog?.window?.setLayout((screenWidth()*0.85).toInt(), wrapContent)
        dialog?.window?.setGravity(Gravity.CENTER)
        dialog?.setCanceledOnTouchOutside(false)
    }
 
 
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        if (price == 0.0)
            tv_price.gone()
        else{
            val ps = "游玩价格:¥%.2f".format(price)
            tv_price.text = SpanBuilder(ps).color(requireContext(),5,ps.length,R.color.colorPrimary).build()
        }
        if (coin == 0.0)
            tv_coin.gone()
        else{
            val ps = "玩湃币:%d币".format(coin.toInt())
            tv_coin.text = SpanBuilder(ps).color(requireContext(),4,ps.length,R.color.colorPrimary).build()
        }
        if (integral == 0)
            tv_integral.gone()
        else{
            val ps = "积分:%d积分".format(integral)
            tv_integral.text = SpanBuilder(ps).color(requireContext(),3,ps.length,R.color.colorPrimary).build()
        }
 
        tv_cancel.setOnClickListener {
            dismiss()
        }
 
        tv_ok.setOnClickListener {
            callback?.onOk()
            dismiss()
        }
 
    }
 
 
    interface OnClickCallback{
        fun onOk()
    }
    private var callback: OnClickCallback? = null
    fun setCallback(callback: OnClickCallback){
        this.callback = callback
    }
}