Android 设置小数点搜索栏

Android set seekbar with decimal

所以我有一个搜索栏,我想显示或设置我从 SharedPreferences 字符串中获得的值,但由于我不能使用小数,所以我不是 100% 确定如何执行此操作,有人可以指出我的方向正确吗?

String BarValue = "3.5";

Bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        float value = 0;

        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
            value = ((float)progress / 5);
        }

        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
        }

        public void onStopTrackingTouch(SeekBar seekBar) {
            SharedPreferences.Editor e = sp.edit();
            e.putString("barValue", String.valueOf(value));
            e.apply();
        }
    });

Android默认的SeekBar不提供十进制值,如果你愿意,你可以使用下面的任何自定义SeekBar,

https://github.com/woxingxiao/BubbleSeekBar

https://github.com/syedowaisali/crystal-range-seekbar

https://github.com/vashisthg/StartPointSeekBar

Android Seekbar 不支持浮点数,因此在 Seekbar 中使用整数并根据需要将其转换为浮点数。我认为这是最好的方法。

例如,如果您想使用像 11.6 这样的单个小数位值,您可以将 116(11.6 * 10) 设置为 Seekbar,并在检索时 除以 10。它会完成这项工作。