如何准确地使用浮点数设置SeekBar的进度?

3

大家好,我正在尝试制作一个带有拖动条和文本视图的设定温度应用程序。我的温度读数包括类似于33.3和34.5这样的值。我知道设置拖动条进度的代码是:

seekbarTemperature.setProgress(int);

但我想使用像33.3或39.8这样的浮点值。如果我将浮点数转换为整数,它会将值四舍五入到整数,例如33或34。这将不能正确定位我的SeekBar,因为当TextView显示33.3时,我的SeekBar将定位于33。由于我还设置了SeekBar按0.1递增或递减,因此对于小数,我的SeekBar的准确位置非常重要。那么有人可以告诉我如何将SeekBar的进度位置精确地设置为比如33.4而不是33或34吗?
2个回答

9

您无法使用双精度值显示进度条进度。

但可以采用简单的数学方法。

将ProgressBar最大进度设置为1000。
现在,当您想显示值为33.3的进度时,请更新ProgressBar的值为333:

 progressBar.setProgress(333);

这个解决方案在2021年对我帮助很大。谢谢! - Marty Miller
同样适用于JavaScript和HTML5的seekbar。 - mseifert

2

将进度条从0100改为从01000,并将33.4更改为334


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接