2016-07-02 14 views
6

Ho creato uno ProgressBar in modo programmatico come indicato di seguito nella mia attività. Come posso farlo mostrare?Creare e visualizzare la barra di avanzamento programmaticamente

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

Grazie per le risposte. Ma non sto usando un ProgressDialog. Voglio che il progressoBar mostri all'interno dell'attività come indeterminato. Grazie. – user6304758

risposta

1

progressBar è un widget (visualizzazione). Devi aggiungere al viewgroup.

È possibile utilizzare ProgressDialog per mostrare i progressi carico Esempio:

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

Il livello API 26 'ProgressDialog' è obsoleto. – Asha

+0

quindi Come impostare la barra dei messaggi in corso Programmaticamente –

0

Ogni attività ha una vista dei contenuti. Questa è la vista principale della tua attività che imposti chiamando setContentView(). Ogni vista sullo schermo deve essere figlia di questa vista (o di un figlio di un bambino, ecc.). L'eccezione è rappresentata dalle finestre di dialogo, che appaiono in una finestra separata, ma questa è un'altra discussione.

Se si desidera visualizzare la vista sullo schermo, è necessario aggiungerla a qualche ViewGroup all'interno della vista del contenuto.

In realtà il modo normale in cui si utilizzano le barre di avanzamento per il caricamento è diverso. Normalmente ne aggiungi uno al tuo ml, ma imposti la sua visibilità su GONE in modo che non appaia. Quindi, quando vuoi che appaia, lo imposti su VISIBILE. Quindi sembra che la barra di avanzamento appaia, ma è stata davvero lì nascosta da sempre.

6

Puoi provare questo codice per aggiungere progressBar programaticlly al tuo layout.

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

è possibile aggiungere ProgressBar nel file XML come questo

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

e visibile, invisibile ma pragmaticamente.

questo il modo di barra di avanzamento aggiunto al vostro file xml , ma se si vuole aggiunto pragmaticamente è possibile utilizzare progressBar.setVisibility (View.Visible) per mostrare barra di avanzamento oppure è possibile utilizzare progressBar.setVisibility (View.Gone) per nascondere la barra di avanzamento sull'attività.

+0

So che questa è una domanda vecchia, ma ha chiesto veramente ** Programmaticamente **, la tua risposta spiega come aggiungerla manualmente tramite XML e non hai nemmeno incluso come fare è visibile e invisibile a livello di programmazione. Per favore modifica la tua risposta – MosabJ

+0

modifica la mia risposta grazie per chiedere miglioramenti. –

+0

set Le modifiche alla visibilità non funzionano –

Problemi correlati