Android设置了带小数

时间:2017-08-25 05:44:08

标签: android string seekbar android-seekbar

所以我有一个我要显示的搜索栏或者setProgress我从SharedPreferences字符串得到的值,但由于我不能使用小数,我不是百分百肯定如何做到这一点,有人可以点我在正确的方向?

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();
        }
    });

2 个答案:

答案 0 :(得分:1)

Android默认SeekBar不提供小数值,如果您愿意,可以使用以下任何自定义SeekBar,

https://github.com/woxingxiao/BubbleSeekBar

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

https://github.com/vashisthg/StartPointSeekBar

答案 1 :(得分:0)

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

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