我在我的 Android 应用程序中使用水平进度条,我想更改它的进度颜色(默认为黄色).我如何使用 code(而不是 XML)来做到这一点?
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 (not XML)?
推荐答案对于水平 ProgressBar,您也可以使用 ColorFilter,如下所示:
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);如果 progressBar 不确定,则使用 getIndeterminateDrawable() 而不是 getProgressDrawable().
If progressBar is indeterminate then use getIndeterminateDrawable() instead of getProgressDrawable().
从 Lollipop (API 21) 开始,您可以设置进度色调:
Since Lollipop (API 21) you can set a progress tint:
progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));更多推荐
如何在Android中更改进度条的进度颜色
发布评论