J'ai décrit cela avec un code et un exemple dans ce blog: Personnalisé la Barre de Progression De Android
La personnalisation d'un ProgressBar
exige la définition de l'attribut ou les propriétés de l'arrière-plan et les progrès de votre barre de progression.
Créer un fichier XML nommé customprogressbar.xml dans votre res->dossier drawable:
customprogressbar.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Define the background properties like color etc -->
<item android:id="@android:id/background">
<shape>
<gradient
android:startColor="#000001"
android:centerColor="#0b131e"
android:centerY="1.0"
android:endColor="#0d1522"
android:angle="270"
/>
</shape>
</item>
<!-- Define the progress properties like start color, end color etc -->
<item android:id="@android:id/progress">
<clip>
<shape>
<gradient
android:startColor="#007A00"
android:centerColor="#007A00"
android:centerY="1.0"
android:endColor="#06101d"
android:angle="270"
/>
</shape>
</clip>
</item>
</layer-list>
Maintenant, vous devez définir l' progressDrawable
propriété dans customprogressbar.xml (drawable)
Vous pouvez le faire dans le fichier XML ou dans le cadre de l'Activité au moment de l'exécution).
Effectuez les opérations suivantes dans votre fichier XML:
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:progressDrawable="@drawable/custom_progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Au moment de l'exécution, procédez de la manière suivante
// Get the Drawable custom_progressbar
Drawable draw=res.getDrawable(R.drawable.custom_progressbar);
// set the drawable as progress drawable
progressBar.setProgressDrawable(draw);
Edit: correction de la mise en page xml