我的自定义班级进度条始终设置为100%进度

时间:2019-05-14 19:11:08

标签: android progress-bar

我为我的应用程序提供了一个自定义进度条,我使用一个类来制作动画进度,但是当我调用这些函数时,我的进度条总是设置为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);
    }
}

我的代码有什么问题?

0 个答案:

没有答案