进度条:
ProgressBar pb = (ProgressBar) findViewById(R.id.progressbar);
pb.setProgress(0);
int k = (int)max;
pb.setMax(k);
int j = (int)(cost);
pb.setProgress(j);
此代码用于仅采用 int 值的进度条我想将代码更改为采用双精度值
进度条:
ProgressBar pb = (ProgressBar) findViewById(R.id.progressbar);
pb.setProgress(0);
int k = (int)max;
pb.setMax(k);
int j = (int)(cost);
pb.setProgress(j);
此代码用于仅采用 int 值的进度条我想将代码更改为采用双精度值
你不能。该ProgressBar
小部件仅接受ints
其最大和当前进度。你无法控制最小值,因为它总是如此0
。
您可以将所需的最大和当前进度值乘以 10 的幂,这样小数就会消失。ProgressBar
仍将显示与十进制值相同的进度,因为进度是 的比率currentValue/maxValue
。由于您将两者乘以相同的数字,因此比率相等。例如:
0.1/10 = 0.01
但是,如果您将 0.1 和 10 乘以 10 以消除小数点,您会得到:
1/100 = 0.01 //Same result
它只接受整数值。没有method
传递双精度值。
public synchronized void setProgress (int progress)
看安卓开发者文档。
Parameters
progress the new progress, between 0 and getMax()