Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:ListView上的裁剪阴影_Flutter_Dart - Fatal编程技术网

Flutter 颤振:ListView上的裁剪阴影

Flutter 颤振:ListView上的裁剪阴影,flutter,dart,Flutter,Dart,我只是想在Flutter中创建一个带有一些框阴影的水平ListView,以重建“新形态”效果 然后我意识到ListView项目上的阴影在边缘被裁剪。我已经尝试过调整各种不同的填充物和边距,但问题仍然存在 奇怪的是:作为图像资产的卡片无法加载,因此阴影呈现得非常好 我最终通过在WidgetBuilder/容器中使用卡片而不是中心小部件解决了这个问题 解决这个问题的唯一方法是在元素之间添加更多的填充。。。马里亚诺索里拉:谢谢你的回答!因此,您的意思是增加ListViewBuilder中的paddi

我只是想在Flutter中创建一个带有一些框阴影的水平ListView,以重建“新形态”效果

然后我意识到ListView项目上的阴影在边缘被裁剪。我已经尝试过调整各种不同的填充物和边距,但问题仍然存在

奇怪的是:作为图像资产的卡片无法加载,因此阴影呈现得非常好


我最终通过在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)));