在快速等待命令之后,我的应用程序会停止,例如10毫秒,这样它看起来就像是动画的东西(在我的情况下是一个球)。
public class PiranhaDrop extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FrameLayout main = (FrameLayout) findViewById(R.id.main_view);
main.addView(new Drawing(this,0,0,0));
int MyLoop=0;
while(MyLoop<100)
{
main.addView(new Drawing(this,MyLoop,10,10));
synchronized(this){wait(10);}
//try{Thread.sleep(WaitTime);} catch (InterruptedException e){}
MyLoop=MyLoop+1;
main.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent e)
{
float x = e.getX();
float y = e.getY();
FrameLayout flView = (FrameLayout) v;
flView.addView(new Drawing(getParent(),x,y,25));
return false;
}
});
}
}
}
正如你所看到的,在循环开始之后我已经尝试了一些东西(WaitTime指的是我摆脱了很长时间,它没有用) - 两者都没有用。
感谢。
答案 0 :(得分:4)
无需手动完成此操作。使用frame animation(使用一系列位图)或更好tween animation(移动/调整现有视图的大小)。
答案 1 :(得分:1)
正确的等待方式是:
try
{
Thread.sleep(10);
}
catch (Exception e){}
但请注意,这将在UI线程上运行。 10毫秒没有真正的问题,这是等待的首选方式......但是对于较长时间,它会导致用户说出你的应用程序没有响应的丑陋对话。