根据该值更改进度条颜色



我有一个应用程序,我使用一个服务器来做任务,然后你可以改变你的任务的进度从0到100,但把我的进度条一个简单的颜色似乎有点太少。我想知道是否有可能假设它开始是红色的,越接近50它就越变黄,越接近100它就越变绿。这有可能吗?

我已经通过代码设置了进度条的颜色,但我似乎找不到任何允许我这样做的方法。

如果您正在使用horizontal ProgressBar,您可以使用ColorFilter如下:

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

您需要添加您所描述的逻辑来设置各自的颜色。

Lollipop (API 21)以来,您可以设置进度色调:

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

对于pre-lollipop版本,你可以这样做:

ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressbar);
int color = 0xFF00FF00;
progressbar.getIndeterminateDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);
progressbar.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);

希望有帮助!

最新更新