我正在制作我自己的材质,比如带有盒子阴影的卡片。我想把其中几个组合成一个整体
PageView
,这样我可以在每张卡之间滑动
Card
应该填满整个屏幕的宽度。
卡片上有一个
BoxShadow
但是,当插入
卡片
进入
页面浏览
(或任何其他包装小部件)
箱形阴影
当它被
页面浏览
的边界框。
这可以通过包裹
卡片
变成一个
Padding
,但这不是我想要的,因为我更喜欢最外层的小部件提供的填充,而不是整个视图的所有子小部件——因此,如果我的填充发生变化,我不必改变每个小部件。
这就是我的
卡片
代码如下所示:
class Card extends StatelessWidget {
final Widget child;
final EdgeInsetsGeometry padding;
Card({@required this.child, this.padding});
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(color: Colors.white, boxShadow: <BoxShadow>[
BoxShadow(color: Color.fromRGBO(0, 0, 0, 0.1), blurRadius: 14.0),
BoxShadow(
color: Color.fromRGBO(0, 0, 0, 0.1),
offset: Offset(0, 2),
blurRadius: 2.0)
]),
child: Padding(
padding: padding ?? EdgeInsets.all(20),
child: this.child,
),
);
}
}
将其中的几个结果包装到所描述的剪切行为中。
有没有办法告诉弗利特不要从包围盒中“漏出”任何东西?