【问题标题】:Android set seekbar with decimalAndroid用小数设置搜索栏
【发布时间】:2017-08-25 05:44:08
【问题描述】:

所以我有一个搜索栏,我想显示或设置我从 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 string seekbar android-seekbar


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      https://github.com/woxingxiao/BubbleSeekBar

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

      https://github.com/vashisthg/StartPointSeekBar

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多