这是我的高度变化动画
public class HeightAnimation extends Animation {
private final int targetHeight;
private final View view;
private final boolean grow;
private final int height;
public HeightAnimation(View view, int targetHeight, boolean grow) {
this.view = view;
this.targetHeight = targetHeight;
this.grow = grow;
height = view.getHeight();
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newHeight;
if (grow) {
newHeight = (int) (height + (targetHeight - height) * interpolatedTime);
} else {
newHeight = (int) (height + (targetHeight - height) * interpolatedTime);
}
view.getLayoutParams().height = newHeight;
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;
}
}
问题是,当它运行时它是不是很平滑它看起来是跳过那里来平滑这个吗?
HeightAnimation animation = new HeightAnimation(mSwitcher, 0, false);
animation.setDuration(300);
mSwitcher.startAnimation(animation);