Flutter 颤振:ListView上的裁剪阴影
我只是想在Flutter中创建一个带有一些框阴影的水平ListView,以重建“新形态”效果 然后我意识到ListView项目上的阴影在边缘被裁剪。我已经尝试过调整各种不同的填充物和边距,但问题仍然存在 奇怪的是:作为图像资产的卡片无法加载,因此阴影呈现得非常好Flutter 颤振:ListView上的裁剪阴影,flutter,dart,Flutter,Dart,我只是想在Flutter中创建一个带有一些框阴影的水平ListView,以重建“新形态”效果 然后我意识到ListView项目上的阴影在边缘被裁剪。我已经尝试过调整各种不同的填充物和边距,但问题仍然存在 奇怪的是:作为图像资产的卡片无法加载,因此阴影呈现得非常好 我最终通过在WidgetBuilder/容器中使用卡片而不是中心小部件解决了这个问题 解决这个问题的唯一方法是在元素之间添加更多的填充。。。马里亚诺索里拉:谢谢你的回答!因此,您的意思是增加ListViewBuilder中的paddi
我最终通过在WidgetBuilder/容器中使用卡片而不是中心小部件解决了这个问题 解决这个问题的唯一方法是在元素之间添加更多的填充。。。马里亚诺索里拉:谢谢你的回答!因此,您的意思是增加ListViewBuilder中的padding属性(当前设置为30?)。我已经试过了,但没用:/。你需要增加容器“卡片”形状容器内的填充物。我建议使用padding EdgeInsets.symmetric,只增加宽度填充,不增加高度填充。或者,如果您认为只有正确的填充是冲突的填充,请使用EdgeInsets.only
class _DrinkListState extends State<DrinkList> {
@override
Widget build(BuildContext context) {
return Container(
child: ListView.builder(
padding: EdgeInsets.all(30),
physics: AlwaysScrollableScrollPhysics(),
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemCount: this.widget.availableDrinks.length,
itemBuilder: (BuildContext context, int index) => Container(
child: Center(
child: LimitedBox(
child: Column(
children: <Widget>[
Expanded(
flex: 4,
child: Container(
child: Center(
child: Container(
child: Image.asset("assets/" +
this
.widget
.availableDrinks[index]
.imageName),
),
),
),
),
Expanded(
flex: 1,
child:
Text(this.widget.availableDrinks[index].label))
],
),
)),
margin: EdgeInsets.symmetric(horizontal: 20),
decoration: neodec,
padding: EdgeInsets.all(20),
width: 200,
)),
height: 300);
}
}
BoxDecoration neodec = BoxDecoration(
color: Color.fromRGBO(246, 246, 246, 1),
boxShadow: [
BoxShadow(color: Colors.black12, offset: Offset(10, 10), blurRadius: 10),
BoxShadow(color: Colors.white, offset: Offset(-10, -10), blurRadius: 10)
],
borderRadius: BorderRadius.all(Radius.circular(20)));