-2

我有一个 SetContentView(R.layout.camera); 我希望这个布局在几毫秒后开始执行......直到那时它应该是空白的。我怎样才能在android中实现这一点?

4

4 回答 4

2

为此写下你的onCreate()这样..然后它会起作用..

Thread t = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    t = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                t.sleep(5000);
                runOnUiThread(new Runnable() {
                    public void run() {
                        setContentView(R.layout.activity_main);
                    }
                });

            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    });
    t.start();

}
于 2013-10-17T07:05:50.380 回答
1

您可以使用处理程序进行延迟

 Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
       //setcontentview
    }
};

在 oncreate 方法中

Message m = Message.obtainMessage();
handler.sendMessageDelayed(m, delayMillis);
于 2013-10-17T07:06:39.210 回答
0

除非调用onResume() ,否则您的活动将不可见,在主线程或onCreate()方法中执行一些操作它将阻塞您的主线程,并且在您的操作完成之前不会显示 UI。

于 2013-10-17T07:03:50.123 回答
0

创建根视图,将所有组件和可见性设置为INVISIBLEGONE,然后在延迟后显示它。您可以使用 Handler 和 postDelayed 在延迟后执行代码。

于 2013-10-17T07:13:09.443 回答