Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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.builder不适用于scrollDirection:Axis.horizontal_Flutter_Flutter Layout_Flutter Web - Fatal编程技术网

Flutter listview.builder不适用于scrollDirection:Axis.horizontal

Flutter listview.builder不适用于scrollDirection:Axis.horizontal,flutter,flutter-layout,flutter-web,Flutter,Flutter Layout,Flutter Web,这是我的HomePage.dart,我试图在其中水平显示产品列表,但当我设置scrollDirection:Axis.horizontal时,整个屏幕变为白色,我在一些详细信息页面中使用了hero widget,这就是我创建widget buidItem的原因。 请帮助我,我在这个问题上陷入了困境,我也尝试过signleChildScrollView,但那也不起作用 import'package:EcommerceApp/animations/fadeAnimations.dart'; 导入“包

这是我的HomePage.dart,我试图在其中水平显示产品列表,但当我设置scrollDirection:Axis.horizontal时,整个屏幕变为白色,我在一些详细信息页面中使用了hero widget,这就是我创建widget buidItem的原因。 请帮助我,我在这个问题上陷入了困境,我也尝试过signleChildScrollView,但那也不起作用

import'package:EcommerceApp/animations/fadeAnimations.dart';
导入“包:电子商务应用程序/screens/info_page.dart”;
进口“包装:颤振/材料.省道”;
类MyHomePage扩展了无状态小部件{
最终列表数据列表=[
{“imageLink”:“images/1.jpg”,“tag”:“one”,“name”:“product1”},
{“imageLink”:“images/2.jpg”,“tag”:“two”,“name”:“product2”},
{“imageLink”:“images/3.jpg”,“tag”:“three”,“name”:“product3”},
{“imageLink”:“images/4.jpg”,“tag”:“four”,“name”:“product4”},
{“imageLink”:“images/bensen.jpg”,“tag”:“five”,“name”:“product5”},
{“imageLink”:“images/marl.jpg”,“tag”:“six”,“name”:“product6”},
{“imageLink”:“images/fs.jpg”,“tag”:“seven”,“name”:“product7”},
{“imageLink”:“images/marl.jpg”,“tag”:“eight”,“name”:“product8”},
];
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
背景颜色:颜色。透明,
海拔:0,
标题:正文(
“主页”,
样式:TextStyle(颜色:Colors.black,字体大小:25),
),
),
正文:专栏(
儿童:[
扩大(
子项:ListView.builder(
scrollDirection:Axis.horizontal,//这个scrollDirection是抛出错误的,但是当我删除它时,它工作得很好
填充:边缘组。对称(水平:10),
itemCount:dataList.length,
itemBuilder:(上下文,索引){
返回建筑物(
图像:数据列表[索引]['imageLink'],
标记:数据列表[索引]['tag'],
名称:数据列表[索引]['name'],
语境:语境);
}),
),
],
),
//此尾随逗号使生成方法的自动格式设置更方便。
);
}
小部件构建(
{String image=“images/”,
@必需的字符串标记,
@必需的字符串名称,
@必需的BuildContext(上下文}){
退货(
孩子:英雄(
标签:标签,
儿童:手势检测器(
onTap:(){
导航器。推(
上下文
材料路线(
生成器:(上下文)=>InfoPage(
图像:图像,
标签:标签,
姓名:姓名,,
)));
},
子:容器(
身高:100,
宽度:double.infinity,
装饰:盒子装饰(
图像:装饰图像(
安装:BoxFit.cover,图像:AssetImage(图像)),
),
),
)));
}
}

将您的
ListView.Builder()
包装在扩展的
小部件中。每次您有一个不断增长的小部件,例如
列表视图
网格视图
中,都会出现此错误。修复方法是提供一个固定的宽度,或者将其包装在扩展的
小部件下

查看此链接了解更多信息:

这对我很有效,是从

SingleChildScrollView(
子:列(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
大小盒子(
身高:120,//你可以这样试试

ListView.builder(
  shrinkWrap: true,
  physics: NeverScrollableScrollPhysics(),
  scrollDirection: Axis.horizontal,
  padding: EdgeInsets.symmetric(horizontal: 10),
  itemCount: dataList.length,
  itemBuilder: (context, index) {
    return buidItem(
        image: dataList[index]['imageLink'],
        tag: dataList[index]['tag'],
        name: dataList[index]['name'],
        context: context);
  }),