Контейнер Flutter: не может обеспечить ни цвет, ни украшение - PullRequest
0 голосов
/ 08 декабря 2018

Я хочу нарисовать границу вокруг своего контейнера и сделать фон цветным.

Widget bodyWidget() {
  return Container(
    color: Colors.yellow,
    decoration: BoxDecoration(
      border: Border.all(color: Colors.black),
    ),
    child: Text("Flutter"),
  );
}

Но когда я пытаюсь это сделать, я получаю ошибку

Невозможно предоставить обацвет и оформление
Аргумент color - это всего лишь сокращение от «украшение: новый BoxDecoration (цвет: цвет)».

Как это решается?

1 Ответ

0 голосов
/ 08 декабря 2018

Удалите параметр color из Контейнера и добавьте его в BoxDecoration:

Widget bodyWidget() {
  return Container(
    decoration: BoxDecoration(
      color: Colors.yellow,
      border: Border.all(color: Colors.black),
    ),
    child: Text("Flutter"),
  );
}

enter image description here

Если вы отметите Исходный код контейнера вы можете видеть, что параметр color используется только для установки цвета BoxDecoration, если оформление равно нулю.

decoration = decoration ?? (color != null ? BoxDecoration(color: color) : null),

Полученная ошибка является лишь полезным напоминанием об этом.В противном случае вы получите странное переопределение (, как, очевидно, имело место в прошлом ), или вы можете даже не заметить ошибку.

...