Preciso de uma ajuda.
No meu código, quando o nível chega a 10 e eu aperto novamente o botão 'Up', o nível vira 0. Até aí não há problema. Só que a cor do container muda apenas quando eu aperto outra vez o botão, ou seja, quando o nível vira 1.
Segue o trecho com a lógica que implementei:
class _TaskState extends State<Task> {
int nivel = 0;
int maestria = 0;
double progresso() {
if ((nivel / widget.dificuldade) / 10 > 1 && maestria < 6) {
nivel = 0;
maestria++;
}
return (widget.dificuldade > 0) ? (nivel / widget.dificuldade) / 10 : 1;
}
Color coresMaestria() {
if (maestria == 1) {
return Colors.green;
} else if (maestria == 2) {
return Colors.yellow;
} else if (maestria == 3) {
return Colors.orange;
} else if (maestria == 4) {
return Colors.red;
} else if (maestria == 5) {
return Colors.purple;
} else if (maestria >= 6) {
return Colors.black;
}
return Colors.blue;
}
Mesmo que eu atribua nivel = 1 dentro da condicional, a cor do container só mudaria quando eu apertasse o botão de novo: quando o nível virasse 2.
Agradeço!