gpt4 book ai didi

java - 动画完成后删除 View

转载 作者:行者123 更新时间:2023-12-02 04:07:50 28 4
gpt4 key购买 nike

我正在寻找一种通过缩放动画从布局中删除 View 的方法。方法removeFromLayout应该将它们缩放到0,并且在每个View完成动画之后,应该清除布局。

public void removeFromLayout(){
for(int i=all.size()-1;i>=0;i--){
all.get(i).animate()
.scaleX(0)
.scaleY(0)
.setDuration(200)
.setStartDelay(i*Activity.SIZE).start();
}
//After all animations are done, they should be removed
layout.removeAllViews();
}

所以我的问题是,如何“延迟”layout.removeAllViews()?

提前致谢

最佳答案

考虑使用ObjectAnimator类(class)。您可以设置动画监听器。下面的代码 fragment 将为您提供一个想法。

ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(view, 
PropertyValuesHolder.ofFloat("scaleX", 0.5f),
PropertyValuesHolder.ofFloat("scaleY", 0.5f));
scaleDown.setDuration(1000);
scaleDown.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {

}

@Override
public void onAnimationEnd(Animator animation) {
//Animation is complete, you can remove all your views here
layout.removeAllViews();
}

@Override
public void onAnimationCancel(Animator animation) {

}

@Override
public void onAnimationRepeat(Animator animation) {

}
});
scaleDown.start();

关于java - 动画完成后删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34087566/

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