Цвета не отображаются в настраиваемом классе - PullRequest
1 голос
/ 17 июня 2020
 Expanded(
               //flex: 2,
               child: Row(
             children: <Widget>[
               Expanded(child: Reuseable(colour: Color(0xBAD681))),
               Expanded(
                   child: Reuseable(colour: Color(0xBAD681)),
                   )
             ],
           )),

   class Reuseable extends StatelessWidget {
   Reuseable({@required this.colour, this.cardChild});

   final Color colour;
   final Widget cardChild;

   @override
   Widget build(BuildContext context) {
     return Container(
       child: cardChild,
       margin: EdgeInsets.all(15.0),
       decoration: BoxDecoration(
         border: Border.all(
           color: Colors.grey,
         ),
           color: colour,
           borderRadius: BorderRadius.circular(10.0)),.
     );
  }
 }

Это часть кода, который я использовал для создания настраиваемого класса, который по какой-то причине я не могу раскрасить !! Если бы не было границы, классы Reusable были бы невидимы, есть идеи, почему и как это исправить?

Снимок экрана:

https://i.ibb.co/pyMnVgJ/Screenshot-1592356692.png

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Я решил это, создав переменную const, которая содержит цвет виджетов пользовательского класса

const activeCardColour = Color(0xFF1D1E33);


 Expanded(
           //flex: 2,
           child: Row(
         children: <Widget>[
           Expanded(child: Reuseable(colour: activeCardColour)),
           Expanded(
               child: Reuseable(colour: activeCardColour),
               )
         ],
       )),
0 голосов
/ 17 июня 2020

Невозможно указать и цвет, и украшение. Аргумент цвета - это просто сокращение для "decoration: new BoxDecoration(color: color)".

Удалите параметр color из Container и оставьте его в BoxDecoration:

, а затем проверьте отсутствие цвета в decoration

color: (this.colour != null)? this.colour: Colors.grey),

ИЗМЕНИТЬ изменить color:colour на color:this.colour

...