动态更改ProgressBar颜色

时间:2019-02-20 16:01:49

标签: android

我正在使用Android上的第一个应用程序,它主要由带有CheckBoxes和ProgressBar的待办事项列表组成,其中显示了选中的框数。 现在,我希望ProgressBar可以根据选中的框数来更改颜色。

栏本身的代码如下:

 progressBar= (ProgressBar) findViewById(R.id.progress);
 progressBar.setMax(todo.size());
 int done = 0;
 for (int i = 0; i < todo.size(); i++) {
     if (todo.get(i).isChecked()) {
        done++;
     }
 }
 progressBar.setProgress(done);

现在,要在未选中一半以上的框时将其着色为红色,而在一半以上的框时将其着色为黄色,我尝试使用简单的if语句进行着色,但这似乎不起作用。

if (todo.size() / done > 2) {
    progressBar.getProgressDrawable().setColorFilter(
       Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
}
if (todo.size() / done <= 2) {
    progressBar.getProgressDrawable().setColorFilter(
       Color.YELLOW, android.graphics.PorterDuff.Mode.SRC_IN);
}

0 个答案:

没有答案