How to change progress bar's progress color in Android

前端 未结 30 2352
情话喂你
情话喂你 2020-11-22 07:49

I\'m using an horizontal progress bar in my Android application, and I want to change its progress color (which is Yellow by default). How can I do it using code

30条回答
  •  故里飘歌
    2020-11-22 08:19

    For a horizontal ProgressBar, you can use a ColorFilter, too, like this:

    progressBar.getProgressDrawable().setColorFilter(
        Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
    

    Note: This modifies the appearance of all progress bars in your app. To only modify one specific progress bar, do this:

    Drawable progressDrawable = progressBar.getProgressDrawable().mutate();
    progressDrawable.setColorFilter(Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
    progressBar.setProgressDrawable(progressDrawable);
    

    If progressBar is indeterminate then use getIndeterminateDrawable() instead of getProgressDrawable().

    Since Lollipop (API 21) you can set a progress tint:

    progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
    

提交回复
热议问题