Android: círculo de progreso

La forma más sencilla de hacer un círculo de progreso es mediante una clase llamada ProgressDialog. La barra de carga también se puede hacer a través de esa clase. La única diferencia lógica entre la barra y el círculo es que la primera se usa cuando conoce el tiempo total de espera para una tarea en particular, mientras que la última se usa cuando no conoce el tiempo de espera.

Para ello, debe crear una instancia de un objeto de esta clase. Su sintaxis es.

ProgressDialog progress = new ProgressDialog(this);

Ahora puede establecer algunas propiedades de este diálogo. Por ejemplo, su estilo, su texto, etc.

progress.setMessage("Downloading Music :) ");
progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progress.setIndeterminate(true);

Aparte de estos métodos, existen otros métodos que proporciona la clase ProgressDialog.

No Señor Clases y descripción
1

getMax()

Este método devuelve el valor máximo del progreso.

2

incrementProgressBy(int diff)

Este método incrementa la barra de progreso por la diferencia del valor pasado como parámetro

3

setIndeterminate(boolean indeterminate)

Este método establece el indicador de progreso como determinado o indeterminado

4

setMax(int max)

Este método establece el valor máximo del diálogo de progreso

5

setProgress(int value)

Este método se utiliza para actualizar el cuadro de diálogo de progreso con algún valor específico

6

show(Context context, CharSequence title, CharSequence message)

Este es un método estático, utilizado para mostrar el diálogo de progreso

Ejemplo

Este ejemplo demuestra el uso giratorio del diálogo de progreso. Muestra un diálogo de progreso giratorio al presionar el botón.

Para experimentar con este ejemplo, debe ejecutarlo en un dispositivo real después de desarrollar la aplicación de acuerdo con los pasos a continuación.

Pasos Descripción
1 Utilizará Android Studio para crear una aplicación de Android en un paquete com.example.sairamkrishna.myapplication.
2 Modifique el archivo src / MainActivity.java para agregar código de progreso para mostrar el cuadro de diálogo de progreso giratorio.
3 Modifique el archivo res / layout / activity_main.xml para agregar el código XML respectivo.
4 Ejecute la aplicación y elija un dispositivo Android en ejecución e instale la aplicación en él y verifique los resultados.

A continuación se muestra el contenido del archivo de actividad principal modificado src/MainActivity.java.

package com.example.sairamkrishna.myapplication;

import android.app.ProgressDialog;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
   Button b1;
   private  ProgressDialog progressBar;
   private int progressBarStatus = 0;
   private Handler progressBarbHandler = new Handler();
   private long fileSize = 0;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1=(Button)findViewById(R.id.button);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            progressBar = new ProgressDialog(v.getContext());
            progressBar.setCancelable(true);
            progressBar.setMessage("File downloading ...");
            progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            progressBar.setProgress(0);
            progressBar.setMax(100);
            progressBar.show();
            progressBarStatus = 0;

            fileSize = 0;
            new Thread(new Runnable() {
               public void run() {
                  while (progressBarStatus < 100) {
                     progressBarStatus = downloadFile();

                     try {
                        Thread.sleep(1000);
                     } catch (InterruptedException e) {
                        e.printStackTrace();
                     }

                     progressBarbHandler.post(new Runnable() {
                        public void run() {
                           progressBar.setProgress(progressBarStatus);
                        }
                     });
                  }

                  if (progressBarStatus >= 100) {
                     try {
                        Thread.sleep(2000);
                     } catch (InterruptedException e) {
                        e.printStackTrace();
                     }
                     progressBar.dismiss();
                  }
               }
            }).start();
         }
      });
   }
	
   public int downloadFile() {
      while (fileSize <= 1000000) {
         fileSize++;

         if (fileSize == 100000) {
            return 10;
         }else if (fileSize == 200000) {
            return 20;
         }else if (fileSize == 300000) {
            return 30;
         }else if (fileSize == 400000) {
            return 40;
         }else if (fileSize == 500000) {
            return 50;
         }else if (fileSize == 700000) {
            return 70;
         }else if (fileSize == 800000) {
            return 80;
         }
      }
      return 100;
   }
}

Modificar el contenido de res/layout/activity_main.xml a lo siguiente

En el siguiente código abc indica el logo de tutorialspoint.com
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView android:text="Music Palyer" android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textview"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView"
      android:layout_below="@+id/textview"
      android:layout_centerHorizontal="true"
      android:textColor="#ff7aff24"
      android:textSize="35dp" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="download"
      android:id="@+id/button"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="112dp" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
</RelativeLayout>

Modificar el res/values/string.xml a lo siguiente

<resources>
   <string name="app_name">My Application</string>
</resources>

Este es el predeterminado AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.sairamkrishna.myapplication.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
      
   </application>
</manifest>

Intentemos ejecutar su aplicación. Para ejecutar la aplicación desde Android Studio, abra uno de los archivos de actividad de su proyecto y haga clic en el icono Ejecutar de la barra de herramientas. Antes de iniciar su aplicación, Android Studio mostrará la siguiente ventana para seleccionar una opción donde desea ejecutar su aplicación de Android.

Simplemente presione el botón para iniciar el cuadro de diálogo de progreso. Después de presionar, aparecerá la siguiente pantalla.