2011-06-26 66 views
0

如何在android中加載頁面?我的應用程序啓動時需要它。 像遊戲中的加載頁面一樣? 你能幫我嗎?在android中加載頁面

回答

0

你的意思是一個閃屏嗎?一個簡單的谷歌搜索會揭示很多:)

This piece of work幫助我做出了一個啓動畫面。

不是複製和粘貼代碼,而是嘗試瞭解他如何使用線程與時間限制來實現此目標。

+1

這是一個相當髒的方式去完成任務。當Android提供ASyncTask時,你爲什麼會訴諸睡眠和Runnable?它可以從1.5 + – Aidanc

+0

同意:)你說的是正確的 –

3

這樣做的一種方法是在onCreate()中設置contentview,然後在異步任務中完成所有加載,並在完成後在onPostExecute中加載「真實」佈局。退房http://developer.android.com/reference/android/os/AsyncTask.html

這種方式可以在實際完成加載時加載「真實」佈局,而不是選擇通用時間來切換視圖。這當然假設你想要一個加載頁面而不是啓動畫面。如果你想要,請檢查其他答案。

這裏有一個簡單的例子...說你有一個名爲Hello.java文件..你會內容視圖設置爲您加載佈局OnCreate()然後調用這個類的東西,如..新DownloadFilesTask().execute();把這個私有類在它...

private class DownloadFilesTask extends AsyncTask<String, String, String> { 

protected Long doInBackground(String... params) { 
    //grab stuff from the server, compute pi to 100000 places etc. 
} 

public void onPostExecute(String result) { 
    //this will now switch us to our real layout, you can now do all your fancy UI stuff! :) 
    setContentView(R.layout.reallayout); 
} 
} 

基本上這是多線程的簡單方法。 onPostExecute在UI線程(您的主線程)上運行,而doInBackground在單獨的線程上執行所有操作,因此不會出現黑屏!我真的希望你不要在這種情況下使用Runnable