2012-05-16 28 views
14

Qual è il modo migliore per creare una barra di avanzamento orizzontale indeterminata? Se faccio questo,Android: barra di avanzamento orizzontale (finestra di dialogo) indeterminata

dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
    dialog.setIndeterminate(true); 

Ho ancora i numeri di avanzamento (percentuale, ecc.) Sul fondo. Su ICS, posso fare questo,

dialog.setProgressNumberFormat(""); 
    dialog.setProgressPercentFormat(new NumberFormat() { 

     @Override 
     public StringBuffer format(double value, StringBuffer buffer, FieldPosition field) { 
      return new StringBuffer(); 
     } 

     @Override 
     public StringBuffer format(long value, StringBuffer buffer, FieldPosition field) { 
      return new StringBuffer(); 
     } 

     @Override 
     public Number parse(String string, ParsePosition position) { 
      return 0; 
     } 
    }); 

per sbarazzarsi dei numeri in basso, ma questi due metodi sono disponibili solo su ICS.

? Grazie

risposta

36

Qui andiamo - L'ho appena trovato. :) android: indeterminateOnly = "true" è la chiave.

<ProgressBar 
     android:id="@+id/progressBar1" 
     style="?android:attr/progressBarStyleHorizontal" 
     android:indeterminateOnly="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
0

Penso che dovresti probabilmente utilizzare la modalità rotellina per modalità indeterminata, in quanto la barra di avanzamento orizzontale può indurre in errore l'utente che in realtà la modalità non è indeterminata.

Si prega di guardare la documentazione per ProgressBar Si noti che non v'è un solo indeterminato modalità che si può forse provare.

+5

sono sicuro che posso farlo se costruisco il dialogo da solo con un 'ProgressBar'. Penso che tu abbia torto nell'usare la ruota che gira. Android ha risorse grafiche per barre di avanzamento orizzontali indeterminate ed è utilizzato estesamente l'interfaccia utente di serie. –

+0

ok. quindi capisco che desideri utilizzare questa "barra delle attività" (come in Google Play): http://developer.android.com/design/building-blocks/progress.html – buzeeg

+0

lo faccio, ma mi chiedo come ottenere quello in una finestra di dialogo di avanzamento. –

0

Una barra di avanzamento orizzontale che mostra un bit che si allarga gradualmente a partire dallo 0% della larghezza della barra e termina al 100% della larghezza della barra non è indeterminata, poiché sembra terminare e pertanto è possibile determinare lo stato.

Quindi probabilmente non stai cercando una barra di avanzamento indeterminata, ma una determinata, come quella che ha indicato buzeeg: .

La sua risposta è ancora corretta rispetto alla domanda posta, però. Dovresti accettarlo.

+0

no, non sto cercando un indeterminato. nel link che hai fornito, guarda la sezione che legge "barra delle attività". questo è quello di cui sto parlando –

Problemi correlati