web-dev-qa-db-de.com

Was ist der Unterschied zwischen Progressbar und progressDialog?

Ich habe überall gesucht und das offizielle Dokument von Google gelesen. Aber ich sehe immer noch keinen Unterschied zwischen ihnen.

Wann sollten wir ProgressBar verwenden und wann sollten wir ProgressDialog verwenden?

25
Mathieu

ProgressBar ist eine Ansicht (wie TextView, ImageView, Button usw.), die in Ihrem Layout verwendet werden kann, um einige Fortschritte anzuzeigen.

ProgressDialog ist ein Dialog mit 'eingebauter' ProgressBar. Dialoge können verwendet werden, um den Benutzer zu warten, während etwas berechnet wird. ProgressDialog erleichtert das Anzeigen des Fortschritts Ihrer Berechnung im Dialog.

23
Berťák

ProgressBar:

ProgressDialog:

Die ProgressBar ist eine View, ProgressDialog ist eine Dialog.

38
Ahmad

Die Antworten hier sind zwar informativ, aber die Frage wird nicht beantwortet.

  • Verwenden Sie einen Fortschrittsdialog, wenn Sie verhindern möchten, dass der Benutzer Mit der Anwendung interagiert, während Sie warten. Durch den Dialog-Aspekt Kann der Benutzer nichts tun, bis er abgewiesen wird. Beachten Sie, wie die Benutzeroberfläche hinter dem ProgressDialog abgeblendet und nicht zugänglich ist.

ProgressDialog example

  • Verwenden Sie eine Fortschrittsleiste, um anzuzeigen, dass sich in Ihrer App noch etwas Befindet (Laden, Denken usw.), während der Benutzer noch mit Anderen Teilen interagieren kann. In diesem Bild kann der Benutzer immer noch Formulare ausfüllen, während er auf die Antwort des GPS wartet.

ProgressBar Example

(Dank an Johnny S für das Bild des ProgressDialogs.)

30
Scott Biggs

Zusätzlich zu den Unterschieden in den restlichen Antworten sollten Sie die folgende Empfehlung von Dialogs @ Android Developer berücksichtigen:

Vermeiden Sie ProgressDialog

Android enthält eine weitere Dialogklasse mit dem Namen ProgressDialog, in der Ein Dialogfeld mit einer Fortschrittsleiste angezeigt wird. Wenn Sie jedoch das Laden von Oder unbestimmten Fortschritten angeben müssen, sollten Sie stattdessen die Entwurfsrichtlinien Für Fortschritt & Aktivität beachten und eine ProgressBar in Ihrem Verwenden. Layout.

Es kann auch nützlich sein, die folgenden Antworten zu betrachten: 

4
leo9r

Wenn Ihre Iterationen abzählbar sind (Vorgänge in einer Schleife ausführen, Code x-mal ausführen usw.), verwenden Sie ProgressBar. Wenn der Task nicht abzählbar ist (z. B. das Aufrufen des Web-Service), verwenden Sie ProgressDialog

Aus der Android-Dokumentation

ProgressBar : Visuelle Anzeige des Fortschritts bei bestimmten Vorgängen. Zeigt dem Benutzer einen Balken an, der angibt, wie weit der Vorgang Fortgeschritten ist. Die Anwendung kann den Fortschritt (Ändern der Länge des Balkens) ändern, wenn er sich vorwärts bewegt. Auf einem Fortschrittsbalken kann auch ein sekundärer Fortschritt Angezeigt werden. Dies ist nützlich für , Der den Fortschritt des Vorgangs anzeigt, beispielsweise den Pufferpegel während eines Fortschrittsbalkens der Streaming-Wiedergabe.

ProgressDialog : Ein Dialog mit einer Fortschrittsanzeige und einer optionalen Textnachricht oder Ansicht. Es kann nur eine Textnachricht oder eine Ansicht gleichzeitig für Verwendet werden.

0
hkutluay