当前位置:  开发笔记 > 编程语言 > 正文

Flutter - 容器BoxShadow在ListView中滚动时消失

如何解决《Flutter-容器BoxShadow在ListView中滚动时消失》经验,为你挑选了2个好方法。

这就是我的Container的样子:

new Container(
        width: 500.0,
        height: 250.0,
        padding: new EdgeInsets.fromLTRB(20.0, 40.0, 20.0, 40.0),
        decoration: new BoxDecoration(
          color: const Color(0xFF66BB6A),
          boxShadow: [new BoxShadow(
            color: Colors.black,
            blurRadius: 20.0,
          ),]
        ),
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            new Container(
              padding: new EdgeInsets.fromLTRB(0.0, 0.0, 0.0, 10.0),
              child: new Text("Testtext", style: new TextStyle(fontSize: 30.0, fontFamily: "Barrio", color: new Color.fromARGB(255, 230, 230, 230))),
            ),
          ]
        ),
      ),

它位于带有其他容器的ListView中.一旦我开始滚动ListView,阴影就会消失.加载视图时,它显示正确.

有关这个问题的任何想法?

谢谢



1> Collin Jacks..:

我试图重现该问题,但我注意到您没有在Container上留任何余地。您的其他项目很可能ListView掩盖了您手动绘制的阴影,因为它是在的边界之外绘制的Container

我建议您使用Card而不是容器。您可以使用elevation构造函数参数获得看起来自然的材质阴影。卡具有一些内置的边距,Container如果需要,您可以将其括起来以添加更多的边距。这将为您提供足够的空间以使阴影可见。您可以Card使用color构造函数参数控制的颜色。

a的角Card略圆。如果你不想圆角,你会从材料的设计是想不合规格的,但你可以尝试包围MaterialtypeMaterialType.canvas里面Container



2> Edeson Bizer..:

This other answer is for those who need to continue with Container:

Container(
          decoration: BoxDecoration(
          shape: BoxShape.circle, // BoxShape.circle or BoxShape.retangle
          //color: const Color(0xFF66BB6A),
          boxShadow: [BoxShadow(
            color: Colors.grey,
            blurRadius: 5.0,
          ),]
        ),
          child: ...
),

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有