AgeSelectDialog.kt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.develop.common.dialog
  2. import android.app.Dialog
  3. import android.graphics.Color
  4. import android.graphics.drawable.ColorDrawable
  5. import android.os.Bundle
  6. import android.view.LayoutInflater
  7. import android.view.View
  8. import android.view.ViewGroup
  9. import android.view.Window
  10. import androidx.appcompat.app.AppCompatActivity
  11. import androidx.databinding.DataBindingUtil.setContentView
  12. import com.develop.base.ext.isBrand062
  13. import com.develop.base.mvvm.FullScreenTransparentDialog
  14. import com.develop.common.R
  15. import com.develop.common.databinding.DialogDataPickerBinding
  16. import com.google.android.material.bottomsheet.BottomSheetDialog
  17. class AgeSelectDialog(
  18. private val activity: AppCompatActivity,
  19. private val onConfirm: (index: Int, change: Boolean) -> Unit
  20. ): FullScreenTransparentDialog() {
  21. private val binding = DialogDataPickerBinding.inflate(activity.layoutInflater)
  22. private val initIndex = 0
  23. private var is062 = false
  24. override fun onCreateView(
  25. inflater: LayoutInflater,
  26. container: ViewGroup?,
  27. savedInstanceState: Bundle?
  28. ): View {
  29. return binding.root
  30. }
  31. init {
  32. is062 = isBrand062()
  33. val listData = createAgeListData()
  34. binding.root.setOnClickListener {
  35. dismiss()
  36. }
  37. binding.ivConfirm.setOnClickListener {
  38. dismiss()
  39. val currentIndex = binding.wheelPicker.currentItemPosition
  40. onConfirm(currentIndex, true)
  41. }
  42. binding.wheelPicker.selectedItemTextColor = if (is062) resources.getColor(R.color.color_5887DA) else Color.BLACK
  43. binding.wheelPicker.itemTextColor = 0xff000000.toInt()
  44. binding.wheelPicker.setAtmospheric(true)
  45. binding.wheelPicker.isCurved = true
  46. binding.wheelPicker.data = listData
  47. if (initIndex >= 0 && initIndex <= listData.size - 1) {
  48. binding.wheelPicker.setSelectedItemPosition(initIndex, false)
  49. }
  50. }
  51. private fun createAgeListData(): List<String> {
  52. val list = mutableListOf<String>()
  53. // list.add(0,"0")
  54. // for (index in 20..80) {
  55. // list.add(index.toString())
  56. // }
  57. list.add(0, "<20")
  58. list.add(1, "20-40")
  59. list.add(2, "41-60")
  60. list.add(3, ">60")
  61. return list
  62. }
  63. }