ValueAnimator不会使drawable无效

时间:2017-08-11 09:53:44

标签: android animation android-animation android-drawable viewpropertyanimator

我正在尝试为Android应用创建自定义进度条。 我用路径和两个同心圆创建了一个drawable。这个想法是 红色部分将填满圆周和何时 它接近0度标记,它将再次重新启动。问题是 圆圈很好地填充它应该如何,但它不会重新启动。 控制此行为的是ValueAnimator,它以某种方式使驻留在图像视图上的drawable无效。这是一张可绘制的应该尝试完成的图片。 enter image description here

我已经尽力调整这个Value-Animator的代码,但它没有做到应该做的事情。以下是Value-Animator的代码:

ValueAnimator val = ValueAnimatro.ofInt(0,360);
val.setDuration(1000);
val.setRepeatCount(ValueAnimator.INFINITE);
val.setRepeatMode(ValueAnimator.REPEAT);

val.addUpdateListener(...){

public void onAnimationUpdate(ValueAnimator c){

int a = (int)updatedAnimation.getAnimatedValue();
if(a!=0){
                float b = 1f*a;
                ProgressShow.sweepAngle = b;

                image45.invalidateDrawable(image45.getDrawable());
            }

现在,ProgressShow是可绘制类的名称,ProgressShow.sweepAngle是绘制路径时在onCanvas方法中使用的变量。 它使用如下:

path.arcTo(0,sweepAngle);

sweepAngle变量在ValueAnimator的onAnimationUpdate方法中不断更改。

任何想法为什么红色环在360度附近停止,当它应该重新启动时,ValueAnimator的性质是无限重复计数和重复重启模式。

感谢任何建议

0 个答案:

没有答案