gpt4 book ai didi

android - 如何在 Android 动画结束后删除动画 View ?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:11 25 4
gpt4 key购买 nike

我正在为 RelativeLayout 使用从右到左的移动动画。

我试图在 onAnimationEnd() 中将布局的可见性设置为“GONE”,但它不起作用。动画 View 仍然在它停止的地方。

这是我使用的代码:

为从右到左创建动画:

TranslateAnimation animate = new TranslateAnimation(0,-rlImages.getWidth()/2,0,0);
animate.setDuration(1000);
animate.setFillAfter(true);

设置动 Canvas 局:

centre_leftanimate.startAnimation(animate);

为动画添加监听器:

animate.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}

@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
centre_leftanimate.setVisibility(View.GONE); // I wants to make the visibility of view to gone,but this is not working
half_left.setVisibility(View.VISIBLE);
}
});

如何让动画 View 的可见性在动画结束后不可见?

请推荐。

最佳答案

我遇到了同样的问题,只是我实际上删除了动画 View ,但动画仍然存在!

简单的解决方案是取消动画,然后隐藏或删除 View 。

animatedView.getAnimation().cancel();

或者如果你还有你的动画对象:

animation.cancel();

编辑:上面的解决方案似乎还剩下一些,所以我添加了这个:

animatedView.setAnimation(null);

关于android - 如何在 Android 动画结束后删除动画 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19681353/

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