Android - Laden von Spinner

Sie können den Fortschritt einer Aufgabe in Android anzeigen, indem Sie den Fortschrittsbalken laden. Der Fortschrittsbalken ist in zwei Formen erhältlich. Ladestange und Ladespinner. In diesem Kapitel werden wir Spinner diskutieren.

Spinner wird verwendet, um den Fortschritt der Aufgaben anzuzeigen, deren Gesamtabschlusszeit unbekannt ist. Um das zu nutzen, müssen Sie es nur so in der XML definieren.

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

Nachdem Sie es in XML definiert haben, müssen Sie seine Referenz in der Java-Datei über die ProgressBar-Klasse abrufen. Die Syntax ist unten angegeben -

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

Danach können Sie es verschwinden lassen und es bei Bedarf über die setVisibility-Methode zurückbringen. Die Syntax ist unten angegeben -

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

Neben diesen Methoden sind in der ProgressBar-Klasse weitere Methoden definiert, mit denen Sie den Spinner effektiver behandeln können.

Sr.Nr. Methode & Beschreibung
1

isIndeterminate()

Geben Sie an, ob sich dieser Fortschrittsbalken im unbestimmten Modus befindet

2

postInvalidate()

In einem nachfolgenden Zyklus durch die Ereignisschleife tritt eine Ungültigmachung auf

3

setIndeterminate(boolean indeterminate)

Ändern Sie den unbestimmten Modus für diesen Fortschrittsbalken

4

invalidateDrawable(Drawable dr)

Ungültig das angegebene Drawable

5

incrementSecondaryProgressBy(int diff)

Erhöhen Sie den sekundären Fortschritt des Fortschrittsbalkens um den angegebenen Betrag

6

getProgressDrawable()

Holen Sie sich das Zeichen, mit dem der Fortschrittsbalken im Fortschrittsmodus gezeichnet wird

Beispiel

Hier ist ein Beispiel, das die Verwendung von ProgressBar für den Umgang mit Spinnern demonstriert. Es wird eine Basisanwendung erstellt, mit der Sie den Spinner beim Klicken auf die Schaltfläche einschalten können.

Um mit diesem Beispiel zu experimentieren, können Sie dies auf einem tatsächlichen Gerät oder in einem Emulator ausführen.

Schritte Beschreibung
1 Sie werden Android Studio verwenden, um eine Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication zu erstellen.
2 Ändern Sie die Datei src / MainActivity.java, um den erforderlichen Code hinzuzufügen.
3 Ändern Sie res / layout / activity_main, um entsprechende XML-Komponenten hinzuzufügen
4 Sie müssen eine XML-Datei in einem zeichnbaren Ordner erstellen. Sie enthält Informationen zur Form und zum Drehen des Fortschrittsbalkens
5 Führen Sie die Anwendung aus und wählen Sie ein laufendes Android-Gerät aus. Installieren Sie die Anwendung darauf und überprüfen Sie die Ergebnisse

Es folgt der Inhalt der geänderten Hauptaktivitätsdatei 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);
         }
      });
   }
}

Es folgt der geänderte Inhalt der XML res/layout/activity_main.xml.

Im folgenden Code abc zeigt das Logo von tutorialspoint.com an
<?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>

Es folgt der Inhalt der 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>

Es folgt der Inhalt von AndroidManifest.xml Datei.

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

Versuchen wir, unsere gerade geänderte Anwendung auszuführen. Ich nehme an, Sie hatten Ihre erstelltAVDwährend der Einrichtung der Umgebung. Um die App von Android Studio aus auszuführen, öffnen Sie eine der Aktivitätsdateien Ihres Projekts und klicken Sie in

der Symbolleiste auf das Symbol Ausführen . Android Studio installiert die App auf Ihrer AVD und startet sie. Wenn mit Ihrem Setup und Ihrer Anwendung alles in Ordnung ist, wird das folgende Emulatorfenster angezeigt:

Klicken Sie nun auf die Schaltfläche Load Spinner, um den Loading Spinner einzuschalten. Es ist im Bild unten gezeigt -