gpt4 book ai didi

android - 如何用动画扩展布局高度?

转载 作者:IT王子 更新时间:2023-10-28 23:54:04 26 4
gpt4 key购买 nike

我找不到一个很好的例子来说明如何做到这一点。

我有一个设置为 x 高度的 RelativeLayout。

我想添加一个将高度扩展到 x+y 高度的按钮。

有人可以向我推荐一个如何以编程方式执行此操作的好例子吗?

最佳答案

您标记了最接近的解决方案。这是确切的解决方案。我有同样的问题。希望这个答案对其他人有所帮助。

实例化ResizeAnimation

ResizeAnimation resizeAnimation = new ResizeAnimation(
view,
targetHeight,
startHeight
);
resizeAnimation.setDuration(duration);
view.startAnimation(resizeAnimation);

ResizeAnimation 类应该是这样的

public class ResizeAnimation extends Animation {
final int targetHeight;
View view;
int startHeight;

public ResizeAnimation(View view, int targetHeight, int startHeight) {
this.view = view;
this.targetHeight = targetHeight;
this.startHeight = startHeight;
}

@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newHeight = (int) (startHeight + targetHeight * interpolatedTime);
//to support decent animation, change new heigt as Nico S. recommended in comments
//int newHeight = (int) (startHeight+(targetHeight - startHeight) * 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;
}
}

关于android - 如何用动画扩展布局高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8063466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com