我遇到了問題,其中setVisibility()
在向視圖應用動畫一次後無法正常工作。View.clearAnimation和Animation.AnimationListener.onAnimationEnd方法如何相關?
問題
公共無效顯示():
1. setVisibility(View.VISIBLE)上調用視圖
2.查看外觀動畫: view.animate()α( 1.0F).setDuration(3000)。 等...
公共無效的hide()
1.查看消失動畫: view.animate()α(0.0F).setDuration(3000)。 等...
2.查看可見性設置爲GONE
- 非常首場演出()方法調用正確顯示的一切。
- 之後調用hide()之後,視圖被正確隱藏。
- 調用顯示(現在),動畫視圖外觀到動畫的非常結束,之後立即在視圖中消失(佈局檢查表明其最終的知名度就沒了)
這是我最初的動畫代碼:
myGridView.animate()
.alpha(0.0f)
.setDuration(100);
出人意料的是,加入AnimatorListenerAdapter
和壓倒一切的onAnimationEnd
沒有做其他任何事情解決了這個問題。 最近,我發現其他SO solution,他們在setVisibility()
之前,他們呼籲clearAnimation()
的看法。
所以,這個代碼的工作:
myGridView.clearAnimation();
myGridView.setVisibility(View.VISIBLE);
我最後的代碼,我貼有:
myGridView.animate()
.alpha(0.0f)
.setDuration(100);
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
myGridView.clearAnimation();
myGridView.setVisibility(GridView.GONE);
}
});
問題
爲什麼壓倒一切的工作onAnimationEnd
自身?它與clearAnimation
有什麼關係?
我無法得到以前發生的事情,現在發生了。 – azizbekian
@azizbekian公平點。我現在編輯了這個問題。 視圖用於在動畫完成後立即消失,但在開始動畫之前,我將其可見性設置爲可見。覆蓋onAnimationEnd方法後,不僅在動畫開始時,而且在執行完成後,它仍然保持VISIBLE。 – Evusas