package com.marshalchen.common.uimodule.materialdesign.views;
import com.marshalchen.common.uimodule.R;
import com.nineoldandroids.animation.Animator;
import com.nineoldandroids.animation.Animator.AnimatorListener;
import com.nineoldandroids.animation.ObjectAnimator;
import com.nineoldandroids.view.ViewHelper;
import android.content.Context;
import android.util.AttributeSet;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
public class ProgressBarIndeterminate extends ProgressBarDetermininate {
public ProgressBarIndeterminate(Context context, AttributeSet attrs) {
super(context, attrs);
post(new Runnable() {
@Override
public void run() {
// Make progress animation
setProgress(60);
Animation anim = AnimationUtils.loadAnimation(getContext(),
R.anim.material_design_progress_indeterminate_animation);
progressView.startAnimation(anim);
final ObjectAnimator anim2 = ObjectAnimator.ofFloat(progressView, "x", getWidth());
anim2.setDuration(1200);
anim2.addListener(new AnimatorListener() {
int cont = 1;
int suma = 1;
int duration = 1200;
public void onAnimationEnd(Animator arg0) {
// Repeat animation
ViewHelper.setX(progressView,-progressView.getWidth()/2);
cont += suma;
ObjectAnimator anim2Repeat = ObjectAnimator.ofFloat(progressView, "x", getWidth());
anim2Repeat.setDuration(duration/cont);
anim2Repeat.addListener(this);
anim2Repeat.start();
if(cont == 3 || cont == 1) suma *=-1;
}
public void onAnimationStart(Animator arg0) {}
public void onAnimationRepeat(Animator arg0) {}
public void onAnimationCancel(Animator arg0) {}
});
anim2.start();
}
});
}
}