(我不想更改背景颜色)

如何手动更改xml和kotlin中进度条的颜色。我想要的效果是,当进度条为1/5时为红色,3/5则将其变为黄色。 5/5将其变为绿色。

我具有所有其他功能,只是颜色似乎无法通过这种方式更改?我要更改进度栏的代码部分在when语句中。

when(count){
            0 -> {
                passwordProgressBar.progress = 0
                "change colour here"??
            }
            1 -> {
                passwordProgressBar.progress = 2
            }
            2 -> {
                passwordProgressBar.progress = 4
            }
            3 -> {
                passwordProgressBar.progress = 6
            }
            4 -> {
                passwordProgressBar.progress = 8
            }
            5 -> {
                passwordProgressBar.progress = 10
            }
        }


解决方案编辑*

.setColorFilter()方法已弃用,但仍然可以运行。使用白色背景,并在when语句中将过滤器动态设置为所需的值。

最佳答案

//Try this..

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

10-04 10:23