0

如何在 seekbar 中设置最大值99,999和最小值?0.001

4

3 回答 3

8

你不能。SeekBar 小部件仅接受其最大和当前进度的整数。你无法控制最小值,因为它总是如此0

您可以将所需的最大和当前进度值乘以 10 的幂,这样小数就会消失。SeekBar 仍将显示与十进制值相同的进度量,因为进度是currentValue/maxValue. 由于您将两者乘以相同的数字,因此比率相等。例如:

0.1/10 = 0.01

但是,如果您将 0.1 和 10 乘以 10 以消除小数点,您会得到:

1/100 = 0.01 //Same result
于 2013-02-28T09:27:19.133 回答
0

如果您想设置最大值 99,999 和最小值 0.001,SeekBar 仅采用 int 值,而不是浮点值,那么您可以设置最大值 99,999*100 和最小值 0.001*100,然后您的比率将准确显示。

当您向用户显示百分比时,获取该值并除以 100。

于 2013-02-28T09:28:15.980 回答
0

Seekbar 进度是 int 类型,因此您必须通过除以浮点值来更改进度值,Progress/1000.0如下所示。

这是java代码:

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 

{
    edit1=(EditText)findViewById(R.id.edit1);
    float value= (float) (progress / 1000.0);
    edit1.setText((value)+"\n");
}

并且布局你首先尝试它作为android:max="99" 进度值将增加0.001,因为你需要达到最大值,你可以在编辑文本中看到这些值。

于 2013-02-28T09:54:41.573 回答