Android - Cercle de progression

Le moyen le plus simple de créer un cercle de progression consiste à utiliser une classe appelée ProgressDialog. La barre de chargement peut également être faite à travers cette classe. La seule différence logique entre barre et cercle est que la première est utilisée lorsque vous connaissez le temps total d'attente pour une tâche particulière, tandis que la dernière est utilisée lorsque vous ne connaissez pas le temps d'attente.

Pour cela, vous devez instancier un objet de cette classe. Sa syntaxe est.

ProgressDialog progress = new ProgressDialog(this);

Vous pouvez maintenant définir certaines propriétés de cette boîte de dialogue. Tels que, son style, son texte, etc.

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

En dehors de ces méthodes, il existe d'autres méthodes fournies par la classe ProgressDialog.

Sr. Non Classes et description
1

getMax()

Cette méthode renvoie la valeur maximale de la progression

2

incrementProgressBy(int diff)

Cette méthode incrémente la barre de progression de la différence de valeur passée en paramètre

3

setIndeterminate(boolean indeterminate)

Cette méthode définit l'indicateur de progression comme déterminé ou indéterminé

4

setMax(int max)

Cette méthode définit la valeur maximale de la boîte de dialogue de progression

5

setProgress(int value)

Cette méthode est utilisée pour mettre à jour la boîte de dialogue de progression avec une valeur spécifique

6

show(Context context, CharSequence title, CharSequence message)

Il s'agit d'une méthode statique, utilisée pour afficher la boîte de dialogue de progression

Exemple

Cet exemple illustre l'utilisation rotative de la boîte de dialogue de progression. Il affiche une boîte de dialogue de progression de rotation en appuyant sur le bouton.

Pour expérimenter cet exemple, vous devez l'exécuter sur un appareil réel après avoir développé l'application en suivant les étapes ci-dessous.

Pas La description
1 Vous utiliserez Android Studio pour créer une application Android sous un package com.example.sairamkrishna.myapplication.
2 Modifiez le fichier src / MainActivity.java pour ajouter un code de progression afin d'afficher la boîte de dialogue de progression de rotation.
3 Modifiez le fichier res / layout / activity_main.xml pour ajouter le code XML correspondant.
4 Exécutez l'application et choisissez un appareil Android en cours d'exécution, installez l'application dessus et vérifiez les résultats.

Voici le contenu du fichier d'activité principal modifié 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;
   }
}

Modifier le contenu de res/layout/activity_main.xml au suivant

Dans le code suivant abc indique le 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>

Modifier le res/values/string.xml au suivant

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

C'est la valeur par défaut 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>

Essayons d'exécuter votre application. Pour exécuter l'application depuis Android Studio, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l' icône Exécuter dans la barre d'outils. Avant de démarrer votre application, Android studio affichera la fenêtre suivante pour sélectionner une option dans laquelle vous souhaitez exécuter votre application Android.

Appuyez simplement sur le bouton pour démarrer la boîte de dialogue de progression. Après avoir appuyé sur, l'écran suivant apparaît.