Acceder

Ver la Versión Completa : ProgressBar al cargar activitys


kaiser75
10/10/13, 11:05:48
Tengo un menu con 3 botones, cada uno abre una activity que tarda unos 5 o 6 segundos en abrirse debido al contenido que tiene, como puedo poner un progressbar que al pulsar los botones mientras se carga la activity se muestre el progressbar?, o simplemente mostrar un layout tipo popup durante esos segundos, solo para avisar de que se esta haciendo algo, gracias de antemano.

kriogeN
10/10/13, 11:47:49
Primero tienes que hacer que el Activity sea transparente, se hace creando un Theme con la siguiente configuración (es un Style que su parent es el Theme que te interesa, yo uso el Theme.AppCompat porque siempre uso ActionBarCompat):

<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>

Después tienes que asignar ese Theme a la Activity en el AndroidManifest:

android:theme="@style/EL_NOMBRE_QUE_LE_PONGAS"

Y ahora por último el código, en el "onStart" haces INVISIBLE el Layout principal de la Activity, muestras un ProgressDialog, y EN UN HILO INDEPENDIENTE (un AsyncTask es lo mejor) haces todo el proceso de carga que necesitas en el "doInBackground" , finalmente en el "onPostExecute" asignas todo lo que has cargado a las Views, quitas el ProgressDialog y haces VISIBLE el Layout.

Así lo hago yo en una aplicación que lo que hace es mostrarte una foto a pantalla completa desde un Thumbnail, mientras se la descarga aparece el ProgressDialog, cuando está descargada la asigna y la muestra.

EDITADO: Se me había colado el windowActionBarOverlay, que no es necesario en este caso.

kaiser75
11/10/13, 17:54:17
Gracias kriogeN :ok: