Italian Barra di scorrimento di un lungo processo

AlpVir

Well-Known Member
Licensed User
Longtime User
La mia app probabilmente dovrà eseguire un processo che potebbe durare svariati minuti. In questi casi si usa generalmente una barra che scorre via via e segnala che l'elaborazione è il corso e che il device non si è piantato.
Non so come si chiama questa barra e quindi non ho potuto fare ricerche in merito. Come fare per realizzare questa barra, generalmente di colore blu ?
Grazie a tutti.
 

timo

Active Member
Licensed User
Longtime User
Alp, nel vecchio vb c'era la comoda 'Progressbar'.
La puoi simulare sia graficamente che con una semplice Label che indica la percentuale di avanzamento con un codice del tipo:
B4X:
For i = 0 To RowCount-1
tuo codice qui più:
pb= 100*i/(RowCount -1)
'Log (pb)        
Label1.Text=pb&"%"        
doevents
Next  
Label1.Text=""
Altrimenti usa la 'rotellina' di
B4X:
ProgressDialogShow("Loading..."
'evtl. DoEvents
ProgessDialogHide
Il ProgressDialog deve stare nella stessa Activity, sia in 'Show' che in 'Hide'.

(Vedo ora che Klaus cita ProgressBar, ma mi pareva non fosse disponibile.
Sono andato a vedere, ma non so...)
 
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Già fatto tutto con la ProgressBar che, rispetto ad un label, ha un aspetto grafico migliore (anche se probabilmente consuma più risorse).

B4X:
' --- Progress bar 
pb.Initialize("pb") 
Activity.AddView(pb,5%x,45%y,85%x,6%y)
Dim rflBar As Reflector
rflBar.Target = pb
rflBar.RunMethod2("setMax", 360, "java.lang.int")


Con il reflector si setta il valore massimo della Progressbar; anche questo è farina del sacco di Klaus.
Grazie ad entrambi.
 
Top