我只是在學習android動畫,想到玩它。 我已經創建了動畫,但我希望在動畫之間應該有延遲/等待。在android中播放動畫
這裏是代碼。我想要findViewById(R.id.app_logo).startAnimation(anim);
之後它應該等待動畫完成。一旦完成findViewById(R.id.addTopic).startAnimation(anim);
應該開始等等。
如果有任何可以指導我如何實現它,我會很樂意感謝
感謝。
我只是在學習android動畫,想到玩它。 我已經創建了動畫,但我希望在動畫之間應該有延遲/等待。在android中播放動畫
這裏是代碼。我想要findViewById(R.id.app_logo).startAnimation(anim);
之後它應該等待動畫完成。一旦完成findViewById(R.id.addTopic).startAnimation(anim);
應該開始等等。
如果有任何可以指導我如何實現它,我會很樂意感謝
感謝。
這是簡單的解決方案,以您的需求:
final Animation anim0 = AnimationUtils.loadAnimation(this, R.anim.abc_slide_in_bottom);
final Animation anim1 = AnimationUtils.loadAnimation(this, R.anim.abc_slide_in_bottom);
final Animation anim2 = AnimationUtils.loadAnimation(this, R.anim.abc_slide_in_bottom);
final Animation anim3 = AnimationUtils.loadAnimation(this, R.anim.abc_slide_in_bottom);
Animation.AnimationListener animationListener = new Animation.AnimationListener() {
int count = 0;
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
switch (count){
case 0:
findViewById(R.id.addTopic).setVisibility(View.VISIBLE);
findViewById(R.id.addTopic).startAnimation(anim1);
break;
case 1:
findViewById(R.id.addDescription).setVisibility(View.VISIBLE);
findViewById(R.id.addDescription).startAnimation(anim2);
break;
case 2:
findViewById(R.id.addBtn).setVisibility(View.VISIBLE);
findViewById(R.id.addBtn).startAnimation(anim3);
break;
}
count++;
}
@Override
public void onAnimationRepeat(Animation animation) {
}
};
anim1.setAnimationListener(animationListener);
anim2.setAnimationListener(animationListener);
anim3.setAnimationListener(animationListener);
findViewById(R.id.app_logo).startAnimation(anim0);
findViewById(R.id.addTopic).setVisibility(View.GONE);
findViewById(R.id.addDescription).setVisibility(View.GONE);
findViewById(R.id.addBtn).setVisibility(View.GONE);
感謝您的答案,但這不是我想要的。在這裏它顯示了我的所有小部件,然後他們一個接一個地動畫。我不想要那個兄弟。 我想要app_logo動畫,然後addTopic等。我想一個接一個地不全。 你能幫我另一個代碼..? 謝謝 – user3384581
所以,只需定義他們的隱身GONE在xml或運行時,並添加上面每一個findViewById(R.id.the_view_the_now_you_want_to_show).setVisibility(View.VISIBLE); – yshahak
作品像魅力。謝了,兄弟。 但我有疑問,爲什麼不能把findViewById(R.id.app_logo).startAnimation(anim);在switch語句中的case裏面? 我試圖把案件0:但我不會動畫。 爲什麼我們需要在onAnimationEnd之外啓動app_logo動畫.. ?? 抱歉吃過你的頭,但我只是學習並好奇地知道 – user3384581
感謝@MeenalSharma這個有用的參考。 – user3384581
你可以用動畫聽衆或你也可以用動畫set..to戲動畫一個接一個 – Meenal