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
|
}
|
}
|