studio progressbar personalizar indeterminate horizontal color bar android progress

personalizar - progressbar android circle



Quiero un círculo de progreso en lugar de un diálogo de progreso. (7)

Quiero mostrar un círculo de progreso en mi aplicación mientras se cargan los datos. Tengo una actividad y me muevo de una actividad a otra. Estoy analizando algunos datos xml, por el momento, hasta que se complete el análisis, quiero mostrar un efecto de carga circular.


¿Por qué no usar la IU de la barra de progreso?

myProgressDialog = ProgressDialog.show(ListingPage.this,"Please Wait", "Loading Date", true);

dan


Debe crear un archivo xml de animación en la carpeta res / anim y llamar a startAnimation en su ImageView cuando esté cargando datos y a stopAnimation cuando deje de cargarlos. Y configura la imagen de carga a ImageView, por ejemplo:

cargando http://bigod26.com/pics/loading.png

Este código de identificación para el círculo de animación archivo xml

<?xml version="1.0" encoding="UTF-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:duration="1200" android:interpolator="@android:anim/linear_interpolator" />


Del mismo modo que lo haría con el cuadro de diálogo de progreso, use una animación en lugar de una tarea asíncrona y solo hágala visible en la ejecución previa y ocúltela nuevamente en la publicación.


Insertar esto entre dos etiquetas de vista

<ProgressBar android:id="@+id/loading_spinner" style="?android:progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" />


Para expandir un poco la respuesta de trgraglia, puede crear una barra de progreso indeterminada (comportamiento: ciclo) y establecer la visibilidad en falsa. Durante AsyncTask preExecute (), hágalo visible, y durante AsyncTask onPostExecute (), vuélvalo a invisible (siempre que permanezca en la misma actividad o si es posible que necesite). Esto elimina la necesidad de crear una animación.


Puede utilizar una barra de progreso indeterminada para el efecto de carga circular. Así es como lo haces en XML:

<ProgressBar android:indeterminate="true" android:layout_width="50dp" android:layout_height="50dp" android:id="@+id/marker_progress" style="?android:attr/progressBarStyle" android:layout_gravity="center_vertical|center_horizontal"/>

Puedes cambiar la altura y el ancho para que sea lo que quieras. Cuando haya terminado de cargar, puede cambiar su visibilidad a View.INVISIBLE o View.GONE


Use AsyncTask para cargar y analizar:

/** * Background task that fetched the content from server and parses the content. */ private class BackgroundLoadingTask extends AsyncTask<InputStream, Void, Boolean> { @Override protected void onPreExecute() { // show the progress bar Activity.this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); Activity.this.requestWindowFeature(Window.PROGRESS_VISIBILITY_ON); } @Override protected Boolean doInBackground(InputStream... params) { // try to load XML from HTTP server and parse return true; } @Override protected void onPostExecute(Boolean parsingError) { // hide the progress bar Activity.this.requestWindowFeature(Window.PROGRESS_VISIBILITY_OFF); } }