package com.sinata.xqmuse.dialog
|
|
import android.text.Editable
|
import android.text.TextWatcher
|
import android.view.Gravity
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.dialog_time_setting.*
|
import org.jetbrains.anko.textColorResource
|
import kotlin.math.max
|
|
class TimeSettingDialog:BaseDialogFragment() {
|
override fun setContentView() = R.layout.dialog_time_setting
|
|
override fun setGravity() = Gravity.BOTTOM
|
var time = 5
|
|
var callback:StringCallback? = null
|
|
override fun initView() {
|
rg_time.setOnCheckedChangeListener { group, checkedId ->
|
time = when(checkedId){
|
R.id.rb_5->5
|
R.id.rb_10->10
|
R.id.rb_15->15
|
R.id.rb_30->30
|
R.id.rb_60->60
|
R.id.rb_90->90
|
R.id.rb_0->0
|
else->-1
|
}
|
if (time!=-1){
|
tv_custom.textColorResource = R.color.textColor66
|
tv_min.textColorResource = R.color.textColor66
|
}else{
|
tv_custom.textColorResource = R.color.colorPrimary
|
tv_min.textColorResource = R.color.colorPrimary
|
}
|
}
|
|
et_time.addTextChangedListener(object :TextWatcher{
|
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
|
|
}
|
|
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
}
|
|
override fun afterTextChanged(s: Editable?) {
|
rg_time.check(-1)
|
}
|
})
|
|
tv_jia.setOnClickListener {
|
val s = et_time.text.toString()
|
time = (if (s.isNullOrEmpty()) 0 else s.toInt())+1
|
et_time.setText(time.toString())
|
}
|
|
tv_jian.setOnClickListener {
|
val s = et_time.text.toString()
|
time = (if (s.isNullOrEmpty()) 0 else s.toInt())-1
|
time = max(0,time)
|
et_time.setText(time.toString())
|
}
|
|
tv_action.setOnClickListener {
|
if (rg_time.checkedRadioButtonId != -1){
|
callback?.onResult(time.toString())
|
}else{
|
val s = et_time.text.toString()
|
time = (if (s.isNullOrEmpty()) 0 else s.toInt())
|
callback?.onResult(time.toString())
|
}
|
dismissAllowingStateLoss()
|
}
|
}
|
|
}
|