1
resposta

[Projeto] Desafio final

Bom, fiz a proposta e adicionei umas coisinhas a mais, infelizmente, não consegui fazer o gif. No meu projeto o usuário pode preencher cada tarefa três vezes.

  int nivel = 0;
  List <Color> levelColor = [Colors.blue, Colors.pink, Colors.green, Colors.black];
  int position = 0;
  bool buttonActive = true;

Aqui é a lógica de quando o nível for totalmente preenchido a cor é alterada, o nível zerado e quando a cor for alterada pela terceira vez o botão é desativado.

   child: ElevatedButton(
                          onPressed: buttonActive ? () {
                            setState(() {
                              nivel++;
                              if((nivel / widget.difficulty) / 10 >=1){
                                position++;

                                nivel = 0;
                                if(position == 3){

                                  buttonActive = false;
                                }
                              }
                            });

Aqui é a lógica de quando a cor for alterada pela terceira vez o texto é alterado para "Máximo"

  Padding(
                    padding: const EdgeInsets.all(8.0),
                    child: Text(
                      position == 3 ? 'Máximo':
                      'Nível: $nivel',
                      style: const TextStyle(color: Colors.white, fontSize: 16),
                      textAlign: TextAlign.right,
                    ),
                  ),
1 resposta