Skip to content

Instantly share code, notes, and snippets.

@MuhamedFathy
Forked from rafali/ResizeAnimation.java
Created February 11, 2017 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MuhamedFathy/258c4d0e616720976a0ffe07ce19dbea to your computer and use it in GitHub Desktop.
Save MuhamedFathy/258c4d0e616720976a0ffe07ce19dbea to your computer and use it in GitHub Desktop.
Resize animation on Android
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