我正在使用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);
}