具有自定义形状的Android平滑计时器进度条

时间:2016-07-27 13:55:16

标签: android android-layout progress-bar android-xml android-custom-drawable

我正在尝试在我的应用中制作时间进度条以显示35秒

我为它添加了一个倒数计时器,但问题是它每秒都会改变值,但我希望进度条顺利改变

这是我的代码:

mCountDownTimer=new CountDownTimer(35000,1000) {

    @Override
    public void onTick(long millisUntilFinished) {
        i--;
        mProgressBar.setProgress(i);
    }
    @Override
    public void onFinish() {
        i--;
        mProgressBar.setProgress(i);
        wrongAnswer(false);
    }
};

我尝试使用动画,但对我来说有点困难,我不知道该怎么做。

有没有办法这样做,并以正确的方式制作一个平滑的进度条?

编辑: 我将countDownInterval的值减少到40毫秒,但现在它在不同的设备上表现得很奇怪。虽然计时器是好的并且在17ms结束,但进度条表现不同,有时在中间结束,有些时候在结束之前...... 可能progressbar没有足够的时间每40毫秒改变进度,所以我的问题发生了吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试将计时器constructorcountDownInterval字段设置为不超过1000毫秒的值?尝试使用较小的数字来更频繁地调用onTick()方法。