[英]Android alpha animation not repainting during the animation
我有一個帶有滑動菜單的活動,它作為菜單出現。 活動開始時,按鈕在那里並淡出以允許全屏顯示。 單擊抽屜頂部的按鈕時(此時Alpha為0),它應淡入並彈出菜單。 再次單擊該菜單將折疊,該按鈕將逐漸淡出。 為此,我在活動中具有以下代碼。
初始淡出效果如預期的那樣。 活動已創建,按鈕淡出。 當我單擊該按鈕以展開菜單時,該按鈕不出現,而當我再次單擊它時,該按鈕在那里並且不會淡出。 奇怪的是,實際上是調用了動畫,並且如果我將scrollviews移動到抽屜后面,而在調用animatin之后的動畫,則只要我保持其背景中的視圖運動,動畫就可以正常進行。 如果我停止移動這些視圖,動畫將凍結為某些alpha值。
為什么第一個功能正常,而其他功能不正常? 我該如何解決?
drawer = (SlidingDrawer) this.findViewById(R.id.slidingDrawer1);
drawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){
public void onDrawerClosed() {
doFadeOut();
}
});
drawer.setOnDrawerOpenListener(new OnDrawerOpenListener(){
public void onDrawerOpened() {
doFadeIn();
}
});
fadeOut = AnimationUtils.loadAnimation(this, R.anim.buttonfadeout);
fadeOut.setFillAfter(true);
fadeIn = AnimationUtils.loadAnimation(this, R.anim.buttonfadein);
fadeIn.setFillAfter(true);
doFadeOut(); //this is the end of onCreate and fades when the activity is created
這些是活動中的方法
public void doFadeOut(){
fadeOut.reset();
menuButton.clearAnimation();
menuButton.startAnimation(fadeOut);
}
public void doFadeIn(){
fadeIn.reset();
menuButton.clearAnimation();
menuButton.startAnimation(fadeIn);
}
您實現了AnimationListener嗎?
您可以使用onAnimationEnd() 。 您可以在此處放置另一個偵聽器,該偵聽器將觸發另一個Alpha動畫,以便您在關閉抽屜時淡出按鈕。
我從動畫的工作中學到,如果您有多個動畫,則應該始終實現AnimationListener,因為android無法自行決定如何處理許多動畫。
在Android Developers上查看以下文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.