作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为 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/
我是一名优秀的程序员,十分优秀!