2016-07-02 13 views
6

Ich habe eine ProgressBar programmgesteuert wie folgt in meiner Aktivität erstellt. Wie kann ich es zeigen?Erstelle und zeige Fortschrittsbalken programmgesteuert

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall); 
+0

Danke für die Antworten. Aber ich verwende keinen ProgressDialog. Ich möchte, dass die Fortschrittsbalken innerhalb der Aktivität als unbestimmt angezeigt werden. Vielen Dank. – user6304758

Antwort

1

progressBar ist ein Widget (Ansicht). Sie müssen zur Viewgroup hinzufügen.

können Sie ProgressDialog verwenden Fortschritt Laden Beispiel zu zeigen:

ProgressDialog proDialog = ProgressDialog.show(this, "title", "message"); 
+2

API-Stufe 26 'ProgressDialog' ist veraltet. – Asha

+0

Dann Wie programmierte Message In Progress Bar –

0

Jede Aktivität hat einen Inhalt Ansicht. Dies ist die Stammansicht Ihrer Aktivität, die Sie durch Aufrufen von setContentView() festlegen. Jede Ansicht auf dem Bildschirm muss ein Kind dieser Ansicht sein (oder ein Kind eines Kindes usw.). Die Ausnahme bilden Dialoge, die in einem separaten Fenster erscheinen, aber das ist eine andere Diskussion.

Wenn die Ansicht auf dem Bildschirm angezeigt werden soll, müssen Sie sie zu einer ViewGroup innerhalb Ihrer Inhaltsansicht hinzufügen.

Eigentlich ist die normale Art, wie Sie Fortschrittsbalken zum Laden verwenden, anders. Normalerweise fügst du eins zu deinem ml hinzu, aber du setzt seine Sichtbarkeit auf GONE, damit es nicht erscheint. Wenn Sie möchten, dass es angezeigt wird, legen Sie es auf VISIBLE fest. Es sieht also so aus, als ob der Fortschrittsbalken angezeigt wird, aber er war wirklich dort die ganze Zeit verborgen.

6

Sie können diesen Code ausprobieren, um progressBar programmatisch zu Ihrem Layout hinzuzufügen.

RelativeLayout layout = new RelativeLayout(this); 
ProgressBar progressBar = new ProgressBar(YourActivity.this,null,android.R.attr.progressBarStyleLarge); 
progressBar.setIndeterminate(true); 
progressBar.setVisibility(View.VISIBLE); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,100); 
params.addRule(RelativeLayout.CENTER_IN_PARENT); 
layout.addView(progressBar,params); 

setContentView(layout); 
0

können Sie progressBar in XML-Datei wie dieses Add

<ProgressBar 
      android:id="@+id/pbProgress" 
      android:style="@style/Spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
     </ProgressBar> 

und sichtbar, es pragmatisch unsichtbar.

Dies ist die Art und Weise hinzugefügt Fortschrittsbalken in der XML-Datei aber wenn Sie möchten hinzugefügt pragmatisch können Sie progressBar.setVisibility (View.Visible) verwenden, um zu zeigen, Fortschrittsbalken oder Sie verwenden können progressBar.setVisibility (View.Gone) Fortschrittsbalken für Aktivität ausblenden

+0

Ich weiß, das ist eine alte Frage, aber er fragte wirklich ** Programmatically **, Ihre Antwort beschreibt, wie Sie es manuell über XML hinzufügen, und Sie nicht einmal enthalten, wie zu machen Es ist programmatisch sichtbar und unsichtbar. Bitte bearbeiten Sie Ihre Antwort – MosabJ

+0

Ich bearbeite meine Antwort dank der Bitte um Verbesserung. –

+0

setVisibility-Änderungen funktionieren nicht –

Verwandte Themen