Przezroczysty pojemnik Flutter i BoxShadow

Sep 03 2020

Utknąłem na tym. Próbuję się nauczyć Fluttera. Kiedy wykonywałem swój własny projekt, uderzyłem w tę ścianę. Wiem, że może to można rozwiązać za pomocą AppBar. Chcę się nauczyć, jak narysować niestandardowy cień lub przynajmniej zmienić BoxShadow.

Kiedy próbuję dodać cień pudełka do mojego wiersza, który jest zawinięty w kontener, otrzymuję ten wynik;

cień

Kod wygląda następująco;

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: [

Jak możesz się domyślić, po prostu próbuję uzyskać wynik elewacji na dno. Dziękuję wszystkim.

Odpowiedzi

AmonChowdhury Sep 03 2020 at 03:30

Dodaj SpreaRadiusi zwiększ OffsetY. Zmień wszystkie wartości, aby uzyskać pożądaną potrzebę.

      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

Wygląda na to, że to po prostu moje opóźnienie w przypisywaniu koloru. W głównym pliku przypisałem zarówno ciemne, jak i jasne kolory do testowania funkcji trybu ciemny / jasny.

Zmieniając to, color: Theme.of (context) .primaryColor

do tego, color: Theme.of (context) .primaryColorDark

naprawiono problem.