Lollipop Progress Bar Tinting

Je suis sur un appareil Lollipop (MotoG 2014), j'ai lu sur la qualité de la barre de progression, mais cela ne fonctionne pas … J'ai la couleur de la barre de progression par défaut. Qu'est-ce que j'oublie ici?

<ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="50dp" android:layout_height="50dp" android:backgroundTintMode="src_in" android:indeterminate="true" android:indeterminateTint="#f00" /> 

Merci beaucoup.

  • Quelle est la différence entre DVM et ART? Pourquoi DVM a été officiellement remplacé par ART dans Lollipop?
  • Différence entre contexte d'activité et contexte d'application
  • LinearLayout $ LayoutParams ne peut pas être diffusé sur android.widget.FrameLayout $ LayoutParams
  • Android Gradle a ajouté une bibliothèque externe et des bibliothèques externes imbriquées à un projet
  • Android studio omet des points d'arrêt
  • Android: la méthode View.onClick () est-elle invoquée sur le thread UI principal?
  • Quelle est la manière correcte de créer une écran / activité de connexion dans Android?
  • Imagebutton me donne une erreur: Attribut Missing ContentDescription sur l'image
  • Méthode de classe d'application Android surCréer appeler plusieurs fois
  • Obtenir "Fragment n'a pas créé de vue" après ajout d'un autre Fragment sans UI
  • Comment effectuer une opération de clic sur la fenêtre d'info personnalisée du marqueur sur google map V2 dans Android
  • Activité par défaut non trouvée dans Android Studio
  • 2 Solutions collect form web for “Lollipop Progress Bar Tinting”

    Essayez de changer votre ProgressBar pour cela

     <ProgressBar android:id="@+id/view_progress" style="?android:attr/progressBarStyleLarge" android:layout_width="50dp" android:layout_height="50dp" android:indeterminate="true" android:indeterminateTintMode="src_in" android:indeterminateTint="@color/red" /> 

    Aussi, vous pouvez le faire de manière programmatique:

     ProgressBar progressBar; progressBar = (ProgressBar)findViewById(R.id.view_progress); progressBar.getProgressDrawable().setColorFilter(Color.RED, Mode.SRC_IN); 

    Les références

    Mise en évidenceBar Couleur de la teinte

    La solution acceptée ne fonctionnait pas pour moi sur pré-Lollipop, mais j'ai trouvé cette solution adaptée à toutes les API et, en plus, elle n'utilise aucun code obsolète:

     // fixes pre-Lollipop progressBar indeterminateDrawable tinting if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { Drawable wrapDrawable = DrawableCompat.wrap(mProgressBar.getIndeterminateDrawable()); DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(getContext(), android.R.color.holo_green_light)); mProgressBar.setIndeterminateDrawable(DrawableCompat.unwrap(wrapDrawable)); } else { mProgressBar.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(getContext(), android.R.color.holo_green_light), PorterDuff.Mode.SRC_IN); } 

    Bonne codage!

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.