使用新材质设计滑块com.google.android.material.slider.slider
。 由于它是最近才发布的,所以文档对它来说是相当差的。 试图从滑块中获得价值,但目前没有运气。 换句话说,滑块中的SetOnProgressChanged{}
相当于搜索栏中的SetOnProgressChanged{}
。
要获取值更新,可以使用Slider.OnChangeListener
:
val slider = Slider(requireContext())
slider.addOnChangeListener { slider, value, fromUser -> /* `value` is the argument you need */ }
// the same implementation with interface name
// slider.addOnChangeListener(Slider.OnChangeListener { slider, value, fromUser -> })
从材料组件官方存储库中的滑块实现的示例。
Slider slider = findViewById(R.id.slider);
slider.addOnSliderTouchListener(touchListener);
然后
private final OnSliderTouchListener touchListener =
new OnSliderTouchListener() {
@Override
public void onStartTrackingTouch(Slider slider) {
}
@Override
public void onStopTrackingTouch(Slider slider) {
}
};
有关更多详细信息,请检查SliderMainDemoFragment.java
您可以使用OnChangeListener
侦听器
slider.addOnChangeListener(new Slider.OnChangeListener() {
@Override
public void onValueChange(@NonNull Slider slider, float value, boolean fromUser) {
//Use the value
}
});