Skip to content

Instantly share code, notes, and snippets.

@googolmo
Forked from rafali/ResizeAnimation.java
Last active August 29, 2015 14:10
Show Gist options
  • Save googolmo/5ae6fe7cad1eb23ea207 to your computer and use it in GitHub Desktop.
Save googolmo/5ae6fe7cad1eb23ea207 to your computer and use it in GitHub Desktop.
public class ResizeAnimation extends Animation {
final int startWidth;
final int targetWidth;
View view;
public ResizeAnimation(View view, int targetWidth) {
this.view = view;
this.targetWidth = targetWidth;
startWidth = view.getWidth();
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newWidth = (int) (startWidth + (targetWidth - startWidth) * interpolatedTime);
view.getLayoutParams().width = newWidth;
view.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds() {
return true;
}
}
ResizeAnimation resizeAnimation = new ResizeAnimation(view, targetSize);
resizeAnimation.setDuration(600);
view.startAnimation(resizeAnimation);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment