我试图让启动画面布局出现 5 秒钟,然后切换到主菜单布局。屏幕空白约 5 秒,然后弹出主菜单布局。如果我只是运行启动布局而不 sleep ,它运行得很好,所以我不认为这是问题。有什么想法吗?
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
mainMenu();
}
private void mainMenu()
{
setContentView(R.layout.mainmenu);
}
最佳答案
这是因为你正在主 UI 线程上执行 Thread.sleep.. 不建议这样做..
改用定时器,使用下面的代码..
private Timer timer;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
handler = new Handler();
timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
YourActivity.this.setContentView(R.layout.mainmenu);
}
});
}
};
timer.schedule(timerTask, 5000);
}
关于java - sleep 时启动画面为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854599/