【发布时间】:2019-11-25 23:36:48
【问题描述】:
所以我正在尝试创建布局,但我遇到了错误,这是我的脚本
Column(
children: <Widget>[
Container(
decoration: new BoxDecoration(boxShadow: [
new BoxShadow(
color: Colors.black,
blurRadius: 10.0,
),
]),
child:
Card(
child: CarouselSlider(
autoPlay: true,
height: 120.0,
items: [1, 2, 3, 4, 5].map((i) {
return Builder(
builder: (BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
margin: EdgeInsets.all(1),
decoration: BoxDecoration(color: Colors.brown),
child: Text(
'text $i',
style: TextStyle(fontSize: 16.0),
));
},
);
}).toList(),
)),
),
Row(
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width * 0.70,
child: Card(
color: null,
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Text(
"Your Points : ",
style: TextStyle(fontSize: 15),
)),
),
),
],
),
Expanded(child: populateHotProduct(),),
Expanded(child: populateHotProduct(),),
],
);
当我运行它时,我得到了这个错误
I/chatty (5867): uid=10080(com.tukangaplikasi.member_lf) Thread-2 相同的 187 行 I/flutter(5867):引发了另一个异常: RenderBox 未布置:RenderRepaintBoundary#46776 中继边界=up3需要油漆I/颤振(5867):══╡例外 通过渲染库捕获 ╞═════════════════════════════════════════════════ ════════ I/颤振( 5867):在 performLayout() 期间引发了以下断言: I/flutter (5867):BoxConstraints 强制使用无限宽度。我/颤动 (5867):这些无效的约束被提供给 RenderPositionedBox 的 layout() 函数由以下 I/flutter ( 5867):函数,它可能计算了无效的约束 问题:我/颤振(5867):_RenderListTile._layoutBox (package:flutter/src/material/list_tile.dart:1300:9) I/flutter ( 5867):有问题的约束是:I/flutter(5867):
BoxConstraints(w=Infinity, 0.0
我已经尝试将我的Expanded 更改为Flexible,但仍然没有帮助。
所以,populateHotProduct 的内部是ListView.Builder
return ListView.builder(
itemCount: hotlist.length,
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
onTap: () {
print("Product detail");
},
child: Card(
child: Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Image.network(
Configuration.url +
"assets/app_assets/" +
hotlist[index].productImage,
width: 100,
height: 100,
filterQuality: FilterQuality.low),
ListTile(
title: Center(
child: Text(
hotlist[index].productName,
style: TextStyle(fontSize: 23),
)),
subtitle: Center(
child: Text(
formatCurrency
.format(int.parse(hotlist[index].productPrice)),
style: TextStyle(color: Colors.red, fontSize: 15),
)),
),
],
),
),
));
});
顺便说一句,我故意打电话给populateHotProduct() 两次。我该如何解决它提前谢谢。
【问题讨论】: