diff --git a/app/src/main/java/org/linhome/ui/widgets/LSpinner.kt b/app/src/main/java/org/linhome/ui/widgets/LSpinner.kt index 5d0d296a439f0860b1060c4df5501cf7621e9e43..b7383bc355c7e4dd229926eedff529826d5f6628 100644 --- a/app/src/main/java/org/linhome/ui/widgets/LSpinner.kt +++ b/app/src/main/java/org/linhome/ui/widgets/LSpinner.kt @@ -72,7 +72,7 @@ class LSpinner : LinearLayout { var items: ArrayList<SpinnerItem>? = null set(value) { - binding.root.spinner.adapter = value?.let { LSpinnerAdapter(it, binding.root.spinner, this) } + binding.root.spinner.adapter = value?.let { LSpinnerAdapter(it, binding.root.spinner, this, null) } } @@ -93,6 +93,7 @@ class LSpinner : LinearLayout { set(value) { if (value != null) { binding.root.spinner.setSelection(value) + (binding.root.spinner.adapter as LSpinnerAdapter).selectedIndex = value } } diff --git a/app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt b/app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt index f63acd6c7d30b70f35ff07595b95ce21d2a7c945..c862963628337fe1eddae0fceafb986e9bba5279 100644 --- a/app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt +++ b/app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt @@ -41,7 +41,7 @@ import org.linhome.databinding.ItemSpinnerBinding import org.linhome.utils.cdlog class SpinnerItem(val textKey: String, val iconFile: String? = null, val backingKey: String? = null) -class LSpinnerAdapter(private val options: ArrayList<SpinnerItem>, val spinner: Spinner, val lSpinner:LSpinner) : +class LSpinnerAdapter(private val options: ArrayList<SpinnerItem>, val spinner: Spinner, val lSpinner:LSpinner, var selectedIndex: Int?) : SpinnerAdapter { var height: Int? = null @@ -114,6 +114,13 @@ class LSpinnerAdapter(private val options: ArrayList<SpinnerItem>, val spinner: view.visibility = View.VISIBLE } + if (lSpinner.opened && position == selectedIndex) { + view.background = Theme.roundRectInputBackgroundWithColorKeyAndRadius( + "color_i", + "user_input_corner_radius" + ) + } + return view }