Olá, eu também consegui resolver o desafio, mas aconteceu uma coisa que eu não consegui entender até agora: reparem que eu coloquei a cor cinza no case 6: color = Colors.grey, pois o black não funcionou de jeito nenhum, ficava dando erro, mas por qual motivo isso aconteceu, se funcionou com todas as outras cores?
import 'package:flutter/material.dart'; import 'package:nosso_primeiro_projeto/components/difficulty.dart';
class Task extends StatefulWidget { final String nome; final String foto; final int dificuldade;
const Task(this.nome, this.foto, this.dificuldade, {Key? key}) : super(key: key);
@override State createState() => _TaskState(); }
class _TaskState extends State { int nivel = 0; int specialty = 0; int totalSpecialty = 0; var color = Colors.blue;
@override Widget build(BuildContext context) { switch(specialty){ case 0: color = Colors.blue; break; case 1: color = Colors.green; break; case 2: color = Colors.yellow; break; case 3: color = Colors.orange; break; case 4: color = Colors.red; break; case 5: color = Colors.purple; break; case 6: color = Colors.grey; break; default: color = Colors.blue; break; } return Padding( padding: const EdgeInsets.all(8.0), child: Container( color: const Color(0xFFB0C4DE), child: Stack( alignment: AlignmentDirectional.topCenter, children: [ Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), color: color, ), height: 140, ), Column( children: [ Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), color: Colors.white, ), height: 100, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), color: Colors.grey, ), width: 72, height: 100, child: ClipRRect( borderRadius: BorderRadius.circular(4), child: Image.asset( widget.foto, fit: BoxFit.cover, ), ), ), Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( width: 200, child: Text( widget.nome, style: const TextStyle( color: Colors.black, fontSize: 24), textAlign: TextAlign.left, overflow: TextOverflow.ellipsis, ), ), Difficulty( difficultyLevel: widget.dificuldade, ), ], ), Container( width: 52, height: 52, alignment: AlignmentDirectional.center, child: ElevatedButton( onPressed: () { setState(() { nivel++; if (nivel > (widget.dificuldade10)) { specialty++; nivel = 0; print('A especialidade está em: $specialty'); } }); //print(nivel); }, child: Column( .**... Não cabe o restante do código...*