我在一个视图(这是一个片段内)中有一个淡出动画,并且每次动画发生时,视图完成后视图会重新绘制自己。我发现了一项围绕view.SetVisibility(View.GONE)
的工作。但它不会等待动画完成。我只想在动画完成后才执行这个setVisibility代码。什么是最好的方式来做到这一点?结束动画事件android
74
A
回答
139
您可以动画监听器添加到您的动画对象像
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
}
});
+4
如果要防止淡出动画在动画进行过程中再次启动,请使用if(!anim.hasStarted()|| anim.hasEnded())'检测动画是否仍然存在运行。 – theczechsensation
8
8
只需把你的动画对象,并添加动画监听到它。 下面是示例代码:
rotateAnimation.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
**// WRITE HERE WHATEVER YOU WANT ON THE COMPLETION OF THE ANIMATION**
}
});
15
功能也可以接受的答案,但在一个更简洁的方式:
/* Add/Remove any animation parameter */
theView.animate().alpha(0).setDuration(2000).withEndAction(new Runnable() {
@Override
public void run() {
theView.setVisibility(View.GONE);
}
});
享受:)
相关问题
- 1. Viewpager滚动结束事件
- 2. 悬停事件结束后div的动画不停止
- 3. 动画结束后无法激活查看触摸事件
- 4. AnimationDrawable:如何捕捉动画结束事件
- 5. WPF动画结束时是否有任何事件触发?
- 6. 在动画结束时,组件对齐
- 7. 当视频播放结束时,Javascript结束事件android
- 8. Android - 轨迹球事件结束了吗?
- 9. UIRefreshController结束动画问题
- 10. iPhone等待动画结束
- 11. CSS3动画结束技术
- 12. CALayer动画结束回调?
- 13. Animated.spring结束事件
- 14. 检测哪个事件结束活动
- 15. 如何在Android动画结束后启动开始活动
- 16. 活动结束活动Android
- 17. 当动画结束时,保留动画的结尾图像
- 18. Android的等待动画活动之前完成结束
- 19. 如何开始动画结束活动
- 20. 动画结束后的Javascript performe动作
- 21. 会话结束事件
- 22. JComboBox选择结束事件
- 23. 会话结束事件
- 24. HttpRequest结束时的事件?
- 25. 动画结束后的调用函数结束于react-native-maps
- 26. 的Android结束活动
- 27. 封装动作,以便可以从鼠标事件或动画或某个事件结束执行
- 28. 如何在另一个动画结束时启动动画?
- 29. 自定义动画结束触发器
- 30. 框架结束时CSS3动画闪烁
发表你的代码是如何展示动画.... –