package com.marshalchen.common.demoofui.sampleModules;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.view.animation.Transformation;
import android.widget.ImageView;
import android.widget.TextView;
import com.marshalchen.common.demoofui.R;
import com.marshalchen.common.ui.SearchDrawable;
public class SearchDrawableActivity extends ActionBarActivity implements View.OnClickListener {
private long START_ANIMATION_DURATION = 600;
private Animation mStartAnimation;
private SearchDrawable searchDrawable;
private ImageView imageView;
boolean back = true;
TextView textView;
private Interpolator interp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_drawable_activity);
imageView = (ImageView) findViewById(R.id.search);
textView = (TextView) findViewById(R.id.text);
searchDrawable = new SearchDrawable();
imageView.setImageDrawable(searchDrawable);
//interp = AnimationUtils.loadInterpolator(this, android.R.interpolator.Animator_interpolator);
startUpAnimation();
imageView.setOnClickListener(this);
}
private void startUpAnimation() {
mStartAnimation = new Animation() {
@Override
public void applyTransformation(float interpolatedTime, Transformation t) {
if (back) {
searchDrawable.setPhase(1 - interpolatedTime);
textView.setAlpha(0f);
textView.setVisibility(View.GONE);
} else {
searchDrawable.setPhase(interpolatedTime);
textView.animate().alpha(1f).setDuration(100).setInterpolator(new AccelerateDecelerateInterpolator());
textView.setVisibility(View.VISIBLE);
}
}
};
mStartAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
mStartAnimation.setDuration(START_ANIMATION_DURATION);
}
@Override
public void onClick(View v) {
imageView.startAnimation(mStartAnimation);
back = !back;
}
}