/* * 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(); } }