Android 如何同时运行多个动画?

Android 如何同时运行多个动画?,android,multithreading,animation,runnable,Android,Multithreading,Animation,Runnable,我正在做一个游戏,通过触摸在屏幕上拖放物体。我正在使用SurfaceView进行此操作 有时我需要制作动画,以便在用户播放时移动对象 这是我的代码: //raise it m = new MyLinearMoveAnimation(container1, Config.AXIS_Y, topLine, 2*Speed); t = new Thread(m); t.start(); while(delivering); try {t.join();} catch (InterruptedExce

我正在做一个游戏,通过触摸在屏幕上拖放物体。我正在使用
SurfaceView
进行此操作

有时我需要制作动画,以便在用户播放时移动对象

这是我的代码:

//raise it 
m = new MyLinearMoveAnimation(container1, Config.AXIS_Y, topLine, 2*Speed);
t = new Thread(m);
t.start();
while(delivering);
try {t.join();} catch (InterruptedException e1) {e1.printStackTrace();}
while(t.isAlive());

//move to destination column
m = new MyLinearMoveAnimation(container2, Config.AXIS_X, Config.IMAGE_X, 2*Speed);
t = new Thread(m);
t.start();
while(delivering);
try {t.join();} catch (InterruptedException e1) {e1.printStackTrace();}
while(t.isAlive());

这两个动画一个接一个地执行。我希望他们两人同时跑步。我该怎么做呢?

您可以在android中使用异步任务


由于异步任务,您可以同时运行不同的任务,如果您在不同的异步任务中启动动画,它们将在同一个tame中执行

它们将依次执行,因为您正在用while(传递)阻塞“父”线程;和while(t.isAlive());。那么,我可以立即加入线程吗?它将等待线程结束其执行以调用join()?或者我可以直接移除它?他/她为什么要以及如何移除?包括更多细节,以便他/她能够很好地理解。谢谢!如果我找不到runnables的解决方案,我明天就试试这个。