2014-09-22 56 views
0

我在onCreate(MainActivity)中有一個閃屏圖像。加載所有內容後啓動android活動

我希望圖像保持到第二個活動(URL瀏覽器)完成加載。

有幾種方法預先執行它並在幾秒鐘後加載。

我看到的所有例子都有一個啓動屏幕運行幾秒鐘,然後開始第二個活動,但不是預先執行。

我如何做到這一點?

+1

什麼是URL瀏覽器? 我曾經在啓動畫面上放置了佈局,當活動完成加載時,我使用'setVisibility(View.GONE);'在回調函數中刪除了上部佈局。 – 2014-09-22 22:00:10

+0

URL是我想要使用webview加載的網站鏈接。 是否有可能以編程方式更改第一個佈局中的圖像和第二個佈局中的圖像。 – 2014-09-22 22:47:52

回答

0

您應該開始實際活動並顯示您在啓動畫面中使用的圖像,而不是僅包含圖像的啓動畫面(可能是當前啓動畫面)。一旦所有內容都加載完畢,您需要進行該活動,您可以從主要活動中移除圖像。

+0

我試圖在asyctask上預先設置圖像,並在稍後將其隱藏,但圖像與其他元素重疊,我可以看到它透明。所以,我創建了2種不同佈局的活動。第一個佈局具有imageView,第二個佈局具有要加載的主要內容。 – 2014-09-22 22:53:21

0

您可以使用異步任務; 這裏是一個例子;

private AsyncTask<String, Integer, String> xTask = new AsyncTask<String, Integer, String>() { 
    @Override 
    protected String doInBackground(String... strings) { 
     //you can just sleep a while to show your splash 
     return null; 
    } 

    @Override 
    protected void onPostExecute(String s) { 
     //do something as the execution completed, you can launch your real activity. 
    } 
}; 

和你活動的onResume

@Override 
public void onResume() { 
    if(xask.getStatus().equals(AsyncTask.Status.PENDING)) xTask.execute(); 
    super.onResume(); 
} 
+0

我認爲這是你正在尋找的答案,但只是作爲附加信息:http://cyrilmottier.com/2012/05/03/splash-screens-are-evil-dont-use-them/ 讓用戶盯着你的標識並想知道需要多長時間才能使用這麼糟糕的用戶界面,所以我很難理解爲什麼開發者仍然會使用這些標識。 – dominik4142 2014-09-22 22:09:00

+0

在這裏,我主要想要在後臺啓動活動,並在一段時間後將其帶到用戶界面。就像例如一個URL被打開,但在幾秒鐘之後被帶到前端UI。我嘗試使用asynctask,但沒有真正的幫助。 – 2014-09-22 23:06:19

+0

你可以分享你的審判asynctask – dursun 2014-09-23 06:14:27

0

另外,加載您的活動片段,其中顯示該閃屏。使用異步任務,讓片段加載任何需要加載的內容。在異步任務的回調中,卸載啓動屏幕片段,然後使用您需要顯示的任何內容加載新的片段。