Flutter 将ListView.Builder的滚动方向从水平方向更改为垂直方向时出错
这是代码 当scrollDirection:Axis.Horizontal时,此代码工作正常,但当我创建scrollDirection:Axis.verticle时,这会导致我在代码下方发布的错误:Flutter 将ListView.Builder的滚动方向从水平方向更改为垂直方向时出错,flutter,dart,Flutter,Dart,这是代码 当scrollDirection:Axis.Horizontal时,此代码工作正常,但当我创建scrollDirection:Axis.verticle时,这会导致我在代码下方发布的错误: Widget build(BuildContext context) { return Scaffold( body: SingleChildScrollView( physics: BouncingScrollPhysics(), chil
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: SafeArea(
child: Column(
children: <Widget>[
FadeAnimation(1.4, HeaderWidget()),
SizedBox(height: 30),
FadeAnimation(1.8,SearchWidget()),
SizedBox(height: 30,),
FadeAnimation(1.8,Text(
'Here is the list of items',
style: TextStyle(color: Colors.grey[800],
fontWeight: FontWeight.w900,
fontStyle: FontStyle.italic,
fontFamily: 'Open Sans',),
)),
SizedBox(height: 30,),
Container(
height: 130,
child: shopDetailsList.length==0?new Text("Data no available"):SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(),
child: SizedBox(
height: 130,
child: new ListView.builder(
itemCount: shopDetailsList.length,
scrollDirection: Axis.vertical,<--------------------
itemBuilder: (_,index){
return ShopDetailsUI(shopDetailsList[index].Name,shopDetailsList[index].ShopName,shopDetailsList[index].ShopNumber,shopDetailsList[index].ShopState,shopDetailsList[index].ShopStreet,shopDetailsList[index].ShopType);
},
),
),
),
),
),
],
),
),
)
);
小部件构建(构建上下文){
返回脚手架(
正文:SingleChildScrollView(
物理:弹跳CrollPhysics(),
儿童:安全区(
子:列(
儿童:[
FadeAnimation(1.4,HeaderWidget()),
尺寸箱(高度:30),
FadeAnimation(1.8,SearchWidget()),
尺寸箱(高度:30,),
FadeAnimation(1.8,文本(
'这是项目列表',
样式:TextStyle(颜色:Colors.grey[800],
fontWeight:fontWeight.w900,
fontStyle:fontStyle.italic,
fontFamily:“开放式SAN”,),
)),
尺寸箱(高度:30,),
容器(
身高:130,
子项:shopDetailsList.length==0?新文本(“数据不可用”):SingleChildScrollView(
子:约束框(
约束:BoxConstraints(),
孩子:大小盒子(
身高:130,
子项:新建ListView.builder(
itemCount:shopDetailsList.length,
scrollDirection:Axis.vertical,我试图复制您的问题,但没有成功,因为您提供的代码中缺少一些定义。但是,我运行了一个测试,用固定大小的小部件替换这些类(例如FadeAnimation类),代码正常工作
作为一般提示,尝试将代码分解为较小的部分,并简化您认为不需要的部分。例如,您可以尝试仅使用顶级小部件运行应用程序,并逐步添加其子项。
通过这种方式,您应该能够自我诊断问题所在
最后,我不认为您真的需要ConstrainedBox小部件,因为高度已经被嵌套的SizedBox限制。希望这有帮助。我尝试复制您的问题,但没有成功,因为您提供的代码中缺少一些定义。但是,我运行了一个测试来替换这些类(例如FadeAnimation类)具有固定大小的小部件,代码毫无例外地工作
作为一般提示,尝试将代码分解为较小的部分,并简化您认为不需要的部分。例如,您可以尝试仅使用顶级小部件运行应用程序,并逐步添加其子项。
通过这种方式,您应该能够自我诊断问题所在
最后,我不认为您真的需要ConstrainedBox小部件,因为高度已经被嵌套的SizedBox限制。希望这有帮助。尝试删除contraintBox小部件。事实上,您可以将ListView.builder直接作为容器的子级。尝试一下。尝试删除contraintBox小部件。事实上,您可以将我们的ListView.builder直接作为容器的子级。试试看。