java - sleep 时启动画面为空白

标签 java android sleep wait splash-screen

我试图让启动画面布局出现 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/

相关文章:

java - 从 Jsp 发送 Json 数据到 Rest Controller 时出现 415(不支持的媒体类型错误)

java - KeyStore.load 不工作但 KeyStore.getkey 正在使用相同的密码

javascript - 如何使用 Android WebView.evaluatejavascript API 传递包含撇号字符的字符串以显示在 Webview 中

java - 为什么静态类在 JAXB 解码中很特殊

java - 不可用的共享库 - INSTALL_FAILED_MISSING_SHARED_LIBRARY

Android检查Android中的null或空字符串

android - 生成后模拟器中的图像 "missing"

python - 如何为我控制的 DateTime 编写 sleep 函数?

c++ - Windows 7:超越 C++ std::this_thread::sleep_for

PHP:特定代码行的 sleep ()