');

Android Materiale lineare ProgressBar

Esempio

Secondo la documentazione del materiale :

Un indicatore di progresso lineare dovrebbe sempre riempire da 0% a 100% e non diminuire mai di valore.
Dovrebbe essere rappresentato da barre sul bordo di un'intestazione o di un foglio che appaiono e scompaiono.

Per utilizzare un materiale ProgressBar lineare, basta usare nel tuo xml:

<ProgressBar
    android:id="@+id/my_progressBar"  
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

inserisci la descrizione dell'immagine qui

Indeterminato

Per creare una ProgressBar indeterminata, imposta l'attributo android:indeterminate a true .

<ProgressBar
    android:id="@+id/my_progressBar"  
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="true"/>

Determinato

Per creare determinati ProgressBar, imposta l'attributo android:indeterminate a false e usa gli attributi android:max e android:progress :

<ProgressBar  
    android:id="@+id/my_progressBar"
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:indeterminate="false"
    android:max="100"
    android:progress="10"/>

Basta usare questo codice per aggiornare il valore:

ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);  
progressBar.setProgress(20);

Buffer

Per creare un effetto buffer con ProgressBar, impostare l'attributo android:indeterminate su false e utilizzare android:max , android:progress e android:secondaryProgress attributi di android:secondaryProgress :

<ProgressBar  
    android:id="@+id/my_progressBar"
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="false"
    android:max="100"
    android:progress="10"
    android:secondaryProgress="25"/>

Il valore del buffer è definito da android:secondaryProgress attributo android:secondaryProgress .
Basta usare questo codice per aggiornare i valori:

ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);
progressBar.setProgress(20);
progressBar.setSecondaryProgress(50);  

Indeterminato e Determinare

Per ottenere questo tipo di ProgressBar basta usare una ProgressBar indeterminata usando l'attributo android:indeterminate a true.

<ProgressBar  
    android:id="@+id/progressBar"
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:indeterminate="true"/>

Quindi, quando è necessario passare da un progresso indeterminato a uno determinato, utilizzare il metodo setIndeterminate() .

ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);  
progressBar.setIndeterminate(false);