Android - Caricamento Spinner

Puoi mostrare l'avanzamento di un'attività in Android tramite la barra di avanzamento del caricamento. La barra di avanzamento è disponibile in due forme. Barra di caricamento e rotazione di caricamento. In questo capitolo parleremo di spinner.

Spinner viene utilizzato per visualizzare lo stato di avanzamento di quelle attività il cui tempo totale di completamento è sconosciuto. Per usarlo, devi solo definirlo nell'xml in questo modo.

<ProgressBar
   android:id="@+id/progressBar1"
   style="?android:attr/progressBarStyleLarge"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerHorizontal="true" />

Dopo averlo definito in xml, devi ottenere il suo riferimento nel file java tramite la classe ProgressBar. La sua sintassi è data di seguito:

private ProgressBar spinner;
spinner = (ProgressBar)findViewById(R.id.progressBar1);

Dopodiché puoi farlo scomparire e ripristinarlo quando necessario tramite il metodo setVisibility. La sua sintassi è data di seguito:

spinner.setVisibility(View.GONE);
spinner.setVisibility(View.VISIBLE);

Oltre a questi metodi, esistono altri metodi definiti nella classe ProgressBar, che è possibile utilizzare per gestire la casella di selezione in modo più efficace.

Suor n Metodo e descrizione
1

isIndeterminate()

Indica se questa barra di avanzamento è in modalità indeterminata

2

postInvalidate()

Causa un invalidamento in un ciclo successivo attraverso il ciclo di eventi

3

setIndeterminate(boolean indeterminate)

Modificare la modalità indeterminata per questa barra di avanzamento

4

invalidateDrawable(Drawable dr)

Invalida l'oggetto Drawable specificato

5

incrementSecondaryProgressBy(int diff)

Aumenta l'avanzamento secondario della barra di avanzamento della quantità specificata

6

getProgressDrawable()

Ottieni il drawable utilizzato per disegnare la barra di avanzamento in modalità progresso

Esempio

Ecco un esempio che mostra l'uso di ProgressBar per gestire la casella di selezione. Crea un'applicazione di base che ti consente di attivare lo spinner facendo clic sul pulsante.

Per sperimentare questo esempio, puoi eseguirlo su un dispositivo reale o in un emulatore.

Passi Descrizione
1 Utilizzerai Android Studio per creare un'applicazione Android con un pacchetto com.example.sairamkrishna.myapplication.
2 Modifica il file src / MainActivity.java per aggiungere il codice necessario.
3 Modifica res / layout / activity_main per aggiungere i rispettivi componenti XML
4 È necessario creare un file xml nella cartella drawable. Contiene informazioni sulla forma e sulla rotazione della barra di avanzamento
5 Esegui l'applicazione e scegli un dispositivo Android in esecuzione, installa l'applicazione su di esso e verifica i risultati

Di seguito è riportato il contenuto del file di attività principale modificato src/MainActivity.java.

package com.example.sairamkrishna.myapplication;

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


public class MainActivity extends Activity {
   Button b1;

   private ProgressBar spinner;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
        
      b1=(Button)findViewById(R.id.button);
      spinner=(ProgressBar)findViewById(R.id.progressBar);
      spinner.setVisibility(View.GONE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            spinner.setVisibility(View.VISIBLE);
         }
      });
   }
}

Di seguito è riportato il contenuto modificato del file xml res/layout/activity_main.xml.

Nel codice seguente abc indica il logo di 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="Progress Dialog" 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_below="@+id/imageView"
      android:layout_centerHorizontal="true" />
      
   <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" />
      
   <ProgressBar
      style="?android:attr/progressBarStyleLarge"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/progressBar"
      android:progressDrawable="@drawable/circular_progress_bar"
      android:layout_below="@+id/button"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView"
      android:layout_alignLeft="@+id/textview"
      android:layout_alignStart="@+id/textview"
      android:layout_alignParentBottom="true" />

</RelativeLayout>

Di seguito è riportato il contenuto del file res/drawable/circular_progress_bar.xml.

<?xml version="1.0" encoding="utf-8"?>
<rotate
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromDegrees="90"
   android:pivotX="50%"
   android:pivotY="50%"
   android:toDegrees="360">
   
   <shape
      android:innerRadiusRatio="3"
      android:shape="ring"
      android:thicknessRatio="7.0">
      
      <gradient
         android:centerColor="#007DD6"
         android:endColor="#007DD6"
         android:startColor="#007DD6"
         android:angle="0"
         android:type="sweep"
         android:useLevel="false" />
   </shape>
   
</rotate>

Di seguito è riportato il contenuto di AndroidManifest.xml file.

<?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>

Proviamo a eseguire la nostra applicazione che abbiamo appena modificato. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del tuo progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android Studio installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore:

Ora fai clic sul pulsante di caricamento dello spinner per attivare lo spinner di caricamento. È mostrato nell'immagine qui sotto -