/*
* Copyright (c) 2014. Marshal Chen.
*/
package com.marshalchen.common.demoofui.circularProgressButton;
import com.marshalchen.common.uimodule.circularProgressButton.CircularProgressButton;
import android.animation.ValueAnimator;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import com.marshalchen.common.demoofui.R;
/**
* Integer Progress Sample
*/
public class Sample2Activity extends Activity {
public static void startThisActivity(Activity activity) {
activity.startActivity(new Intent(activity, Sample2Activity.class));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.circular_progress_ac_sample_2);
ActionBar actionBar = getActionBar();
if(actionBar != null) {
actionBar.setTitle("IntegerProgressSample");
}
final CircularProgressButton circularButton1 = (CircularProgressButton) findViewById(R.id.circularButton1);
circularButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (circularButton1.getProgress() == 0) {
simulateSuccessProgress(circularButton1);
} else {
circularButton1.setProgress(0);
}
}
});
final CircularProgressButton circularButton2 = (CircularProgressButton) findViewById(R.id.circularButton2);
circularButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (circularButton2.getProgress() == 0) {
simulateErrorProgress(circularButton2);
} else {
circularButton2.setProgress(0);
}
}
});
}
private void simulateSuccessProgress(final CircularProgressButton button) {
ValueAnimator widthAnimation = ValueAnimator.ofInt(1, 100);
widthAnimation.setDuration(1500);
widthAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
widthAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
button.setProgress(value);
}
});
widthAnimation.start();
}
private void simulateErrorProgress(final CircularProgressButton button) {
ValueAnimator widthAnimation = ValueAnimator.ofInt(1, 99);
widthAnimation.setDuration(1500);
widthAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
widthAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
button.setProgress(value);
if (value == 99) {
button.setProgress(-1);
}
}
});
widthAnimation.start();
}
}