使用新材料设计滑块com.google.android.material.slider.Slider
。由于它最近才发布,因此文档很差。试图从滑块中获得价值,但现在没有运气。换句话说,setOnProgressChanged { }
Seekbar 中的滑块相当于什么。
问问题
6887 次
4 回答
12
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
于 2020-06-16T13:27:08.590 回答
11
您可以使用OnChangeListener
监听器
slider.addOnChangeListener(new Slider.OnChangeListener() {
@Override
public void onValueChange(@NonNull Slider slider, float value, boolean fromUser) {
//Use the value
}
});
于 2020-06-16T14:06:47.260 回答
7
要获取值更新,您可以使用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 -> })
Material Components 官方存储库中的滑块实现示例。
于 2020-06-16T13:25:41.220 回答
1
我们可以使用addOnChangeListener获取滑块的值。
参数值的类型为 Float。
slider.addOnChangeListener { slider, value, fromUser ->
Toast.makeText(baseContext, value.toString(), Toast.LENGTH_LONG).show()
}
于 2022-02-16T19:03:43.577 回答