【发布时间】:2021-10-18 08:48:27
【问题描述】:
我找到了一个带有一个拇指的solution for material.Slider,但我需要相同的范围滑块。我需要从滑块中获取最小值和最大值。 如何使用 bindingAdapter 从范围滑块中获取值?
【问题讨论】:
标签: android kotlin material-design android-databinding
我找到了一个带有一个拇指的solution for material.Slider,但我需要相同的范围滑块。我需要从滑块中获取最小值和最大值。 如何使用 bindingAdapter 从范围滑块中获取值?
【问题讨论】:
标签: android kotlin material-design android-databinding
您可以使用LiveData。因此,您的 bindingAdapter 将如下所示。
@BindingAdapter("onChange")
fun bindOnChange(rangeSlider: RangeSlider, onChangeLiveData: MutableLiveData<Float>) {
rangeSlider.addOnChangeListener(RangeSlider.OnChangeListener { _, value, _ ->
onChangeLiveData.postValue(value)
})
}
你可以用这个
<com.google.android.material.slider.RangeSlider
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:onChange="@{passYourOnChangeMutableLiveDataHere}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
【讨论】:
Pair 而不是List。