我有一個保留2個片段的主要活動。動畫在應用程序啓動時不顯示
在第一個片段上,我調用主活動的動畫。
如果我把它從它的動畫按鈕,一切都OK
如果我嘗試自動調用它(例如,如果(X> 3)動畫()),它不會顯示在所有的動畫和另外,如果我按下按鈕,它將繼續不顯示動畫。代碼如下
家長
public void showAnimation()
{
AnimationSet as = new AnimationSet(true);
Animation up = AnimationUtils.loadAnimation(this.getBaseContext(), R.anim.slide_up);
up.setStartOffset(2000);
Animation down = AnimationUtils.loadAnimation(this.getBaseContext(), R.anim.slide_down);
down.setStartOffset(6000);
as.addAnimation(up);
as.addAnimation(down);
Log.v("FFF","ok");
test.setVisibility(View.VISIBLE);
test.startAnimation(as);
test.setVisibility(View.GONE);
}
兒童
if(!settings.getBoolean(BADGE_D7, false)){
if (days >= 7){
days7.setImageResource(R.drawable.days7);
Log.v("FFF","done");
parent.showAnimation();
}
}
,並在孩子的構造,我有
public Child(MainActivity p) {
this.parent = p;
}
順便把日誌消息顯示了唯一的問題是動畫。問題是什麼??
確保您從UI線程運行showAnimation()。 – GreyBeardedGeek 2013-05-11 14:10:08
我使用相同的parent.showAnimation()從按鈕,它工作正常。它只是不會當我把它自動動畫:/ 也許我應該做的事情就像等待所有的元素在他們的位置和動畫後,但我不知道如何做到這一點 – 2013-05-11 14:11:37