2010-04-06 15 views
13

Cuando comienzo mi aplicación inicialmente, aparece una pantalla en negro que permanece unos segundos antes de que comience mi actividad principal. En el caso del iphone, se muestra una imagen con el nombre predeterminado para esa fracción de segundo. No estoy seguro de cómo hacer lo mismo en Android. Traté de la siguiente manera: En vanoCómo evitar Black Screen al iniciar una aplicación

  <activity android:name=".Index" 
       android:label="@string/app_name" 
       android:screenOrientation="portrait" 
       android:theme="@drawable/defaultimage"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
+2

¿Hay cosas intensas en su método onCreate? ¿Puedes publicar eso? –

Respuesta

15

supongo que hay una operación de pesado en el método onCreate de su actividad "Índice".

Debe poner las operaciones pesadas en un hilo y hacer una pantalla de presentación con la imagen, y cuando el hilo termine, cargue el menú o lo que necesite.

Puede hacer una "pantalla de carga", por ejemplo. Es muy fácil con Android: https://developer.android.com/guide/appendix/faq/commontasks.html#progressbar o https://developer.android.com/reference/android/widget/ProgressBar.html

+0

gracias por sus comentarios, tengo 30 íconos de imágenes en mi pantalla de inicio y escribí onclick oyentes para todas esas imágenes como ImageView img1; img1.setOnClickListener (nueva ImageView.OnClickListener() {public void onClick (Ver v) { explicitIntent Intención = new Intent (Index.this, xxx.yyy.zzz.MyActivity.class); startActivity (explicitIntent); } }); dudo cómo usar hilo en este caso. – ganesh

+3

obtuve la respuesta de http://android-developers.blogspot.com/2009/03/window-backgrounds-ui-speed.html. – ganesh

+0

¡Excelente publicación! ¡Gran solución! Muchas gracias, he pasado mucho tiempo tratando de resolverlo. –

Cuestiones relacionadas