Flutter 阴影在一个圆形矩形中摆动
我尝试将阴影添加到圆形容器中,但Flatter将阴影添加为容器是垂直矩形,这是我不希望看到的。我在谷歌上查找了这个问题,但找不到任何合适的解决方案,请帮我解决 集装箱编码 更新 来自@HardikKumar的回答&我实际上是多么想要它Flutter 阴影在一个圆形矩形中摆动,flutter,user-interface,widget,hybrid-mobile-app,shadow,Flutter,User Interface,Widget,Hybrid Mobile App,Shadow,我尝试将阴影添加到圆形容器中,但Flatter将阴影添加为容器是垂直矩形,这是我不希望看到的。我在谷歌上查找了这个问题,但找不到任何合适的解决方案,请帮我解决 集装箱编码 更新 来自@HardikKumar的回答&我实际上是多么想要它 很抱歉,我测试了您的代码,阴影形状与装饰框的边框相同 我只是把阴影的颜色编辑成黑色,这样我就能看得更清楚 也许你想用这样的按钮,你需要用ButtonTheme来表示高度和宽度 最终版本: 使用材质,它具有立面特性、ShapeOrder和BorderRadiusGe
很抱歉,我测试了您的代码,阴影形状与装饰框的边框相同 我只是把阴影的颜色编辑成黑色,这样我就能看得更清楚 也许你想用这样的按钮,你需要用ButtonTheme来表示高度和宽度 最终版本: 使用材质,它具有立面特性、ShapeOrder和BorderRadiusGeometry,您可以使用容器作为宽度和高度的材质父级 代码中的问题: “blurRadius”为50时,更改“spreadRadius”或“偏移”时,在阴影中看不到任何差异 不透明度为0.15时,您几乎看不到黑色或白色背景色的阴影 请尝试以下代码:
Container(
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.28,
padding: const EdgeInsets.symmetric(horizontal: 12),
decoration: BoxDecoration(
color: Color(0xFFF9D276),
borderRadius: BorderRadius.circular(35),
boxShadow: [
BoxShadow(
//offset: Offset(0, 4),
color: Color(0xFFF9D276), //edited
spreadRadius: 4,
blurRadius: 10 //edited
)
),
),
它看起来是什么样子:
如果您还需要什么,请告诉我。您可以从以下代码中使用圆角矩形:
Container(
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.28,
decoration: BoxDecoration(
color: Colors.green[700],
shape: BoxShape.rectangle,
borderRadius:BorderRadius.all(
Radius.circular(25)
)
),
margin: EdgeInsets.only(right: 8,top: 8),
child: IconButton(
icon: Icon(
Icons.send,
color: Colors.yellow[600],
),
onPressed:() {}
),
)
就我从你的第一张图片中得到的一些想法而言,你可以查看下面的代码
Center(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Color(0xff000000),
boxShadow: <BoxShadow>[
new BoxShadow(
color: Color(0x73000000),
blurRadius: 5.0,
spreadRadius: 1,
offset: new Offset(-10.0, 0.0),
),
],
),
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.25,
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 0, 0),
child: Container(
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.28,
// padding: const EdgeInsets.symmetric(horizontal: 12),
decoration: BoxDecoration(
color: Color(0xFFF9D276),
boxShadow: <BoxShadow>[
new BoxShadow(
color: Color(0xff000000),
blurRadius: 0.0,
spreadRadius: -2,
offset: new Offset(2.0, 0.0),
),
],
borderRadius: BorderRadius.circular(35),
),
),
),
),
)
你想要什么样的阴影?你想让阴影只出现在一面吗?为了努力理解你想要的是什么,我想你想要的是使用容器的阴影在容器周围创建一个模糊效果。您提供的第二张照片与第一张照片的区别在于,阴影甚至不明显,而且照片的颜色稍浅。如果你想要的是提升效果,也许你应该使用一个平面按钮并使用它的提升参数,因为我认为你想使用阴影来创建这种效果,所以我建议使用一个允许提升的小部件你知道这样的小部件吗?你使用的是listView?您发布的图像没有任何阴影。正确地指定您的问题,您实际需要什么?一个稍微发光的阴影,它只扩散一点点
Center(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Color(0xff000000),
boxShadow: <BoxShadow>[
new BoxShadow(
color: Color(0x73000000),
blurRadius: 5.0,
spreadRadius: 1,
offset: new Offset(-10.0, 0.0),
),
],
),
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.25,
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 0, 0),
child: Container(
width: MediaQuery.of(context).size.width * 0.82,
height: MediaQuery.of(context).size.height * 0.28,
// padding: const EdgeInsets.symmetric(horizontal: 12),
decoration: BoxDecoration(
color: Color(0xFFF9D276),
boxShadow: <BoxShadow>[
new BoxShadow(
color: Color(0xff000000),
blurRadius: 0.0,
spreadRadius: -2,
offset: new Offset(2.0, 0.0),
),
],
borderRadius: BorderRadius.circular(35),
),
),
),
),
)