我想知道是否有人可以幫助我,我一直在尋找有用的幫助,但什麼也沒找到。我有四個View
元素(Button
s),我需要按照隨機順序對它們進行一個接一個的動畫處理。我試過等待Animation.hasEnded()
,這隻會凍結整個應用程序。此外,我試圖等待AnimationListener
從onAnimationEnd()
更改布爾值,但也凍結了應用程序。 Thread.sleep()
和SystemClock.sleep()
等待都給出了相同的結果。請,有人可以幫我嗎?等待Android動畫完成
1
A
回答
2
以下是我會做:
首先,創建一個成員的隨機按鈕配置:
private Button[] mRandomButtonsOrder;
然後,初始化隨機按鈕順序:
List<Button> myButtons = new ArrayList<Button>();
myButtons.add(btn1); // Add all your buttons to this array.
myButtons.add(btn2);
myButtons.add(btn3);
myButtons.add(btn4);
mRandomButtonsOrder = new Button[myButtons.size()]; // This is a member of the activity!
Random random = new Random();
int index;
for (int i = 0; i < myButtons.size(); i++)
{
do
{
index = random.nextInt() % mRandomButtonsOrder.length;
} while (mRandomButtonsOrder[index] != null);
mRandomButtonsOrder[index] = myButtons.get(0);
myButtons.remove(0);
}
initiateAnimationOnButton(0);
現在,這裏是initateAnimationOnButton方法:
private void initiateAnimationOnButton(final int buttonIndex)
{
TranslateAnimation animation = new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta); // Just a sample using TranslateAnimation
animation.setDuration(1000);
if (buttonIndex < mRandomButtonsOrder.length - 1)
{
animation.setAnimationListener(new TranslateAnimation.AnimationListener()
{
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation)
{
initiateAnimationOnButton(buttonIndex + 1);
}
});
}
Button btn = mRandomButtonsOrder[buttonIndex];
btn.startAnimation(animation);
}
希望這有助於:)
+0
完全解決了,謝謝! – drRoflol
+0
很高興我能幫忙:) –
相關問題
- 1. Android等待動畫完成
- 2. android sdk等待動畫完成
- 3. 等待動畫完成
- 4. Android動畫:等到完成?
- 5. 如何等待動畫 - 完成塊
- 6. jQuery/Javascript:等待動畫完成
- 7. 如何等待UITableView動畫完成?
- 8. UIView animateWithDuration等待,直到動畫完成
- 9. 等待多個動畫完成
- 10. 等待動畫在unity3d中完成
- 11. 如何等待動畫師完成?
- 12. 等待動畫在iOS中完成?
- 13. Android Espresso:等待活動完成/啓動
- 14. Android的等待動畫活動之前完成結束
- 15. 等待,而Asynctask完成android
- 16. JavaScript的等待動畫完成一個動畫
- 17. 播放並等待動畫/動畫師完成播放
- 18. cocos2d iphone等待動作完成/完成
- 19. 活動完成方法等待完成?
- 20. 等待完成
- 21. 等待完成
- 22. UIViewController動畫等到動畫完成
- 23. QML:等到動畫完成
- 24. Unity - 等到動畫完成
- 25. 等到popToRootViewControllerAnimated:YES動畫完成
- 26. 等到DrawerLayout動畫完成
- 27. UIPickerView等待didSelect,直到滾動動畫完成
- 28. iPhone:在推動viewcontroller之前等待selectrow動畫完成?
- 29. 動畫完成 - Android?
- 30. 等待webworker完成
你可以給我們更多關於如何等待動畫的方式的代碼嗎?我不認爲你需要在onAnimationEnd()中調用thread.sleep()或systemclock.sleep。 –