我为我的应用程序提供了一个自定义进度条,我使用一个类来制作动画进度,但是当我调用这些函数时,我的进度条总是设置为100%。
在阿尔卡特A3平板电脑上正常工作。但是在其他设备上
我称mProgressBar.setProgress(60);
总是设置完整的进度条(实际上我的进度条有200个最大进度)。
这是我的班级自定义进度栏。
public class ProgressBarAnimation extends Animation {
private ProgressBar mProgressBar;
private int mTo;
private int mFrom;
private long mStepDuration;
public ProgressBarAnimation(ProgressBar progressBar, long fullDuration) {
super();
mProgressBar = progressBar;
mStepDuration = fullDuration / progressBar.getMax();
}
public void setProgress(int progress) {
if (progress < 0) {
progress = 0;
}
if (progress > mProgressBar.getMax()) {
progress = mProgressBar.getMax();
}
mTo = progress;
mFrom = mProgressBar.getProgress();
setDuration(Math.abs(mTo - mFrom) * mStepDuration);
mProgressBar.startAnimation(this);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
float value = mFrom + (mTo - mFrom) * interpolatedTime;
mProgressBar.setProgress((int) value);
}
}
我的代码有什么问题?