如何在 seekbar 中设置最大值99,999
和最小值?0.001
问问题
7350 次
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 回答