Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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);
@EmmanuelMess

This comment has been minimized.

Copy link

commented Jun 29, 2017

Isn't initialize() redundant here?

@devarc

This comment has been minimized.

Copy link

commented Jan 23, 2019

Its not work when we call inside another view touch listener or click listener, there are any Idea.

@ALAA999

This comment has been minimized.

Copy link

commented Mar 6, 2019

It worked for me, Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.