我無法將此問題納入搜索條件。我正在開發Android應用程序,特別是我的應用程序的啓動畫面。應用程序需要從外部Web服務(阻塞函數調用)獲取數據,而用戶可以獲得一個不錯的標題,圖像和進度條。當數據到達時,用戶被重定向到主菜單。它是一個簡單的屏幕,一切都在xml佈局文件中定義,我的問題是,我只是幾秒鐘後黑屏,然後是主菜單。如果我按回來,我會看到啓動畫面,進度條愉快地旋轉。Android開發者:Android佈局未及時繪製
這是我到目前爲止有:
public class SplashActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
}
@Override
public void onStart(){
super.onStart();
DatabaseManager db = new DatabaseManager(this.getBaseContext());
db.fetchExternCatalog(); //doesnt return until data arrives
Intent intent = new Intent().setClass(this, MainMenuActivity.class);
startActivity(intent);
}
}
看來(之後的onCreate(),在onStart()等)的屏幕心不是實際繪製,直到活動正在運行。我認爲onStart()將是完美的地方,但顯然不是。
那麼如何在屏幕上繪製所有內容,並在用戶在下載數據時實際看到啓動畫面後調用阻塞函數?
看起來像我找到了答案,以我自己的問題,應該有看了看一邊的相關名單發佈前(仍是那種新來的哈):HTTP://計算器。 com/questions/1979524/android-splashscreen,做了訣竅 – macgregor 2012-04-09 18:40:03