简体   繁体   中英

Flutter Container BoxShadow doesn't show

Here it's my code in this moment:

ClipRRect(
  borderRadius: BorderRadius.circular(11),
  child: Container(
    decoration: BoxDecoration(
      gradient: LinearGradient(
        begin: FractionalOffset.bottomLeft,
        end: FractionalOffset.topRight,
        colors: <Color>[Colors.purple, AppBaseColors.orange],
      ),
      boxShadow: [BoxShadow(color: Colors.yellow)]
    ),
    child: Material(
      child: InkWell(
        onTap: () {
          print("tapped");
        },
        child: Container(
          width: ButtonTheme.of(context).minWidth,
          height: ButtonTheme.of(context).height,
          child: Center(
            child: Text(
              "log in",
              style: TextStyle(
                  color: Colors.white, fontWeight: FontWeight.bold),
            ),
          ),
        ),
      ),
      color: Colors.transparent,
    ),
  ),
),

WHAT HAVE I TRIED:

  • Add the boxShadow in the first Container
  • Add the boxShadow in the second Container
  • Add another Container with boxShadow as a parent of ClipRRect
  • Add the boxShadow in Material as shadowColor (ofc is not working because I don't have any kind of shadow)
  • Adding also the spreadRadius and blurRadius in all of the cases from above, but nothing changed.

Any idea what I did wrong?

You need to do these changes:

  • remove the ClipRRect widget.
  • add borderRadius inside BoxDecoration .
  • add an Offset to your BoxShadow .

     Container( decoration: BoxDecoration( color: Colors.blue, gradient: LinearGradient( begin: FractionalOffset.bottomLeft, end: FractionalOffset.topRight, colors: <Color>[Colors.purple, Colors.orange], ), borderRadius: BorderRadius.circular(11), boxShadow: [ BoxShadow(color: Colors.yellow, offset: Offset(5.0, 5.0)) ]), child: Material( borderRadius: BorderRadius.circular(11), clipBehavior: Clip.hardEdge, child: InkWell( onTap: () { print("tapped"); }, child: Container( width: ButtonTheme.of(context).minWidth, height: ButtonTheme.of(context).height, child: Center( child: Text( "log in", style: TextStyle( color: Colors.white, fontWeight: FontWeight.bold), ), ), ), ), color: Colors.transparent, ), ),

我通过删除clipBehavior或将其设置为Clip.noneClip.none

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM