2013-10-17 70 views
-2

我有一個SetContentView(R.layout.camera); 我想這個佈局在幾毫秒後開始執行......直到那時它應該是空白的。我怎樣才能在android中實現這一點?有沒有一種方法可以在android中設置一些延遲setcontentView?

+0

使用帶有空白圖像的SplashScreen,然後開始您的活動。 –

+0

請提供一些背景信息;代碼和軟件。你爲什麼想這樣做?正確的答案要求你理解你的要求。 – Eric

+0

你應該重新考慮你的要求。向您的用戶展示一個空白屏幕是一個可怕的用戶體驗概念... – 2Dee

回答

0

您的活動將是不可見的,除非的onResume()將被調用,不要在方法會阻止你的主線程和UI將不會顯示,直到你的操作得到完成的主線程或的onCreate()一些操作。

1

對於此寫下您的onCreate()像this..Then它會運行

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(); 

} 
1

你可以在OnCreate中梅索德使用處理程序化妝延遲

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

Message m = Message.obtainMessage(); 
handler.sendMessageDelayed(m, delayMillis); 
0

創建根視圖,並將所有組件和可見性設置爲INVISIBLEGONE然後在延遲後顯示它。您可以使用Handler和postDelayed在延遲後執行代碼。

相關問題