具有浮动值的Android搜索栏

时间:2013-02-28 09:20:46

标签: android seekbar

如何在搜索栏中将最大值设置为99,999并将min设置为0.001

3 个答案:

答案 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中看到这些值。