Прозрачный контейнер Flutter и BoxShadow

Sep 03 2020

Я застрял на этом. Я пытаюсь изучить Flutter. Когда я работал над своим индивидуальным проектом, я попал в эту стену. Я знаю, что, возможно, это можно решить с помощью AppBar. Я хочу научиться рисовать собственные тени или, по крайней мере, изменить BoxShadow.

Когда я пытаюсь добавить тень блока к моей строке, обернутой контейнером, я получаю следующий результат;

тень

Код выглядит так:

class HeaderContents extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
          color: Theme.of(context).primaryColor,
          boxShadow: [BoxShadow(offset: Offset(0, 2), blurRadius: 5)]),
      height: MediaQuery.of(context).size.height * 0.1,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [

Как вы можете догадаться, я просто пытаюсь получить результат высот до дна. Спасибо всем.

Ответы

AmonChowdhury Sep 03 2020 at 03:30

Добавьте SpreaRadiusи увеличьте OffsetY. Измените все значения, чтобы получить желаемое.

      BoxDecoration(
          color: Colors.white,
          boxShadow: [
            BoxShadow(
              color: Colors.blue.withOpacity(0.1),
              spreadRadius: 5,
              blurRadius: 20,
              offset: Offset(
                  0, 10), // changes position of shadow
            ),
          ],
        ),
ZayX Sep 05 2020 at 03:15

Похоже, это просто моя медлительность в назначении цвета. В основном файле я назначил как темные, так и яркие цвета для тестирования функциональности темного / светлого режима.

Изменив это, цвет: Theme.of (context) .primaryColor

к этому цвет: Theme.of (context) .primaryColorDark

исправил проблему.