提问者:小点点

如何从新android材质设计滑块中获得价值


使用新材质设计滑块com.google.android.material.slider.slider。 由于它是最近才发布的,所以文档对它来说是相当差的。 试图从滑块中获得价值,但目前没有运气。 换句话说,滑块中的SetOnProgressChanged{}相当于搜索栏中的SetOnProgressChanged{}


共3个答案

匿名用户

要获取值更新,可以使用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
    }
});