我在一個視圖(這是一個片段內)中有一個淡出動畫,並且每次動畫發生時,視圖完成後視圖會重新繪製自己。我發現了一項圍繞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. Android動畫快速結束
- 2. 動畫結束後滾動,android
- 3. Android - 完成動畫結束活動?
- 4. Viewpager滾動結束事件
- 5. 動畫結束時的Android java.lang.NullPointerException
- 6. 如何在Android中動畫結束後刪除動畫視圖?
- 7. Android Alpha動畫:動畫結束後Alpha值跳回舊值
- 8. 當動畫結束時執行動畫
- 9. 用動畫GIF結束Flash動畫
- 10. 執行動畫動畫結束時
- 11. 動畫結束事件Zurb基金會的應用程序
- 12. AnimationDrawable:如何捕捉動畫結束事件
- 13. 動畫結束事件不發射:元素後
- 14. WPF動畫結束時是否有任何事件觸發?
- 15. 懸停事件結束後div的動畫不停止
- 16. 如何在動畫結束後獲取事件?
- 17. 動畫結束後無法激活查看觸摸事件
- 18. 如何在動畫結束時創建事件?
- 19. 在動畫結束時,組件對齊
- 20. 當視頻播放結束時,Javascript結束事件android
- 21. Android - 軌跡球事件結束了嗎?
- 22. Animated.spring結束事件
- 23. 的UIView動畫結束
- 24. CALayer動畫結束回調?
- 25. UIRefreshController結束動畫問題
- 26. 安卓:當動畫結束
- 27. 跳到CSS動畫結束
- 28. CSS3動畫結束技術
- 29. 等待動畫結束
- 30. iPhone等待動畫結束
發表你的代碼是如何展示動畫.... –