81 votes

Comment changer la couleur de ProgressBar indéterminée Android?

Je cherche une chose très évidente (dans d'autres langues !!) et cela me rend fou!

Je voudrais savoir comment je peux changer la couleur indéterminée de ProgressBar de la couleur de base blanche / grise au noir? Lorsque je modifie l'indéterminateDrawable, j'obtiens une image statique au lieu d'un ProgressBar animé en mouvement. Est-il possible de le faire simplement en XML?

Je vous remercie !

64voto

CommonsWare Points 402670

Étape n ° 1: Copiez drawable/progress_indeterminate_horizontal.xml des ressources de votre SDK dans votre projet.

Étape n ° 2: Copiez drawable-hdpi/progressbar_indeterminate* des ressources de votre SDK dans votre projet.

Étape n ° 3: Copiez drawable-mdpi/progressbar_indeterminate* des ressources de votre SDK dans votre projet.

Étape n ° 4: Modifiez les fichiers PNG pour qu'ils aient l'apparence souhaitée.

Étape n ° 5: Modifiez les progress_indeterminate_horizontal.xml pour qu'ils pointent vers vos fichiers PNG (par rapport aux fichiers standard).

Étape # 6: Utilisez @drawable/progress_indeterminate_horizontal pour la valeur indeterminateDrawable .

64voto

Anm Points 1689

Pour obtenir une ProgressBar dans le thème par défaut à utiliser sur un fond blanc / clair, utilisez l’un des styles inverses:

 <ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
 

Cela vous donnera généralement un noir sur ProgressBar transparent, mais certaines installations d’OS utilisent des ressources personnalisées. Si vous recherchez une couleur spécifique, vous devrez faire votre propre dessin en suivant les instructions fournies par CommonsWare.

11voto

ihrupin Points 3590

Je crée un exemple de projet et l’affiche dans mon blog. Regardez s'il vous plaît. http://www.hrupin.com/2011/09/21/how-to-make-custom-indeterminate-progressbar-in-android-or-how-thow-to-change-progressbar-style-or-color

Espérons que cela vous aide

6voto

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background" android:drawable="@drawable/bg" />
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" />
    <item android:id="@android:id/progress" android:drawable="@drawable/progress" />
</layer-list>

-5voto

lawnile Points 17

en fait, tout ce que vous devez faire (pour les deux cercles et barres) est de créer un fichier xml en dessinable comme indiqué ci-dessous ...... progress_spinner_001 pointe sur l’image que vous voulez animer et la durée ... combien de temps voulez-vous afficher chaque cadre pour ....... et définir ur android: indeterminateDrawable = nom_fichier_en_champable ....

 <?xml version="1.0" encoding="utf-8"?>
<animation-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
<item android:drawable="@drawable/progress_spinner_001" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_002" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_003" android:duration="300" />
  <item android:drawable="@drawable/progress_spinner_004" android:duration="300" />
    <item android:drawable="@drawable/progress_spinner_005" android:duration="300" />
      <item android:drawable="@drawable/progress_spinner_006" android:duration="300" />
     <item android:drawable="@drawable/progress_spinner_007" android:duration="300" />
    <item android:drawable="@drawable/progress_spinner_008" android:duration="300" />
</animation-list>
 

ps u peut avoir besoin de redimensionner la barre de progression pour afficher comme souhaité

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X