如何在搜索栏中将最大值设置为99,999
并将min设置为0.001
?
答案 0 :(得分:6)
你做不到。 SeekBar小部件仅接受其最大和当前进度的int。您无法控制最小值,因为它总是0
。
您可以将所需的最大和当前进度值乘以10的幂,这样小数就会消失。 SeekBar仍然会显示与十进制值相同的进度,因为进度是currentValue/maxValue
的比率。由于您将两者乘以相同的数字,因此比率相等。例如:
0.1/10 = 0.01
但是,如果你将0.1和10乘以10除以小数,你得到:
1/100 = 0.01 //Same result
答案 1 :(得分:0)
如果你想设置最大值99,999和最小值0.001,SeekBar只取整数值而不是浮动值,那么你可以设置最大值99,999 * 100和最小值0.001 * 100,那么你的比率就会准确显示。
当您向用户显示百分比时,则获取该值并除以100.
答案 2 :(得分:0)
Seekbar progress是一个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 ,因为您需要达到最大值,您可以在edittext中看到这些值。