2011-11-20 76 views
0

看起來Android有一個默認的啓動畫面。我沒有做任何啓動畫面,但每次打開我的應用程序時,都會出現啓動畫面。我的啓動畫面的標題欄包含一個字符串,它是我的應用程序的名稱。它也使用與我在應用程序上設置的背景相同的背景。Android有默認啓動畫面?我如何修改它?

爲什麼我的應用程序顯示啓動畫面?這是Android上的默認設置嗎?我查了別人開發的其他應用程序,它沒有啓動畫面。

如何刪除我的啓動畫面標題欄上的字符串?如何在不影響其他活動背景的情況下更改我的啓動畫面背景?我的第一個活動的

示例代碼:

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(); 
    setContentView(R.layout.main); 
    //initialize variables 
    txtView1 = (TextView)this.findViewById(R.id.txtView1); 
    txtView2 = (TextView)this.findViewById(R.id.txtView2); 
    ... 
    //register broadcast receiver 
    ... 
} 

public void onResume() 
{ 
    super.onResume(); 
    //read bundle if a bundle exists 
    ... 
} 

回答

3

我沒有做任何閃屏,但每次我打開我的應用程序時,會出現一個啓動畫面。

Android不閃屏添加到應用程序。

我的啓動畫面的標題欄包含一個字符串,它是我的應用程序的名稱。它也使用與我在應用程序上設置的背景相同的背景。

這是你的活動之一。具體地講,它是在清單以下<intent-filter>之一:

 <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 

爲什麼我的應用程序顯示一個啓動畫面?

因爲那是你寫什麼。無論您與MAIN/LAUNCHER<intent-filter>有什麼聯繫都會造成這種影響。您需要閱讀清單文件,識別此活動,查看活動代碼並確定您所寫的內容。

這是Android上的默認設置嗎?

+0

謝謝!我沒有編寫代碼在我的第一個活動中顯示啓動畫面。這就是爲什麼我想知道是什麼導致它。難道這就是Craigy所說的嗎?我的第一個活動需要花費很長時間才能加載,導致在等待我的活動​​完成加載時出現類似閃屏的顯示? – Arci

+0

@Arci:啓動活動,等待〜5秒,然後開始在背景上點擊。如果您收到「活動無響應」錯誤對話框,那麼是的,您在主應用程序線程上花費的時間太長。 – CommonsWare

+0

我的活動加載只需要不到一秒的時間。初始屏幕只顯示很短的時間。我忘了提及啓動畫面顯示即使我啓動的應用程序只是一個hello world應用程序。 – Arci

1

你描述它聽起來像你活動的onCreate方法需要很長時間來運行的方式。確保你不直接在UI線程上執行長時間運行的操作。

數據庫操作,網絡操作和計算密集型操作應該在單獨的線程中完成。有關android線程選項,請參閱this page

+0

謝謝!然後,我看到的初始屏幕實際上是我的第一個活動,等待其UI完全加載? – Arci

+0

這只是我的第一個猜測......你在做什麼可能需要一段時間在你的活動的'onCreate'或'onStart'?如果您發佈了一些代碼,提供一個明確的答案會更容易 – Craigy

+0

我不確定它是否真的需要一段時間,但基本上,我只是在onCreate()方法中初始化我的變量。我在上面添加了我的代碼。 – Arci