我是否创建SeekBar
使用十进制值的创建?
例如,它将显示
0.0
, 0.1
, 0.2
, 0.3
, ..., 5.5
, 5.6
, 5.7
, ..., 9.9
,10.0
SeekBar 默认值介于 0 和 100 之间。当从 SeekBar 的更改侦听器调用该函数时,将在参数onProgressChanged
中传递进度号。progress
如果您想将此进度转换为从 0.0 -> 10.0 的小数以显示或处理,您需要做的就是在收到进度值时将进度除以 10,然后将该值转换为浮点数。这是一些示例代码:
aSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
float value = ((float)progress / 10.0);
// value now holds the decimal value between 0.0 and 10.0 of the progress
// Example:
// If the progress changed to 45, value would now hold 4.5
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
SeekBar 的进度是介于 0 和 100 之间的 int。如果需要其他值,请对进度值执行适当的算术运算以对其进行缩放。
在你的情况下,除以 10 就可以了。在你的代码中是这样的:
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
float decimalProgress = (float) progress/10;
}