这是我调用widget的地方,并尝试传入一个包含图片的widget列表。
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Padding(
padding: const EdgeInsets.all(10),
child: CarouselSlider(
options: CarouselOptions(
aspectRatio: 2.0,
enlargeCenterPage: true,
enableInfiniteScroll: false,
initialPage: 2,
autoPlay: false,
),
items: imageSliders,
)),
这就是widget的列表。
final List<String> imgList = [
'images/shoppinglist_main.jpg',
'images/shoppinglist_main.jpg'
];
final List<Widget> imageSliders = imgList
.map((item) => Container(
child: Container(
margin: EdgeInsets.all(5.0),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(5.0)),
child: Stack(
children: <Widget>[
Image.asset(item, fit: BoxFit.cover, width: 1000.0),
Positioned(
bottom: 0.0,
left: 0.0,
right: 0.0,
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Color.fromARGB(200, 0, 0, 0),
Color.fromARGB(0, 0, 0, 0)
],
begin: Alignment.bottomCenter,
end: Alignment.topCenter,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0, horizontal: 20.0),
child: Text(
'No. ${imgList.indexOf(item)} image',
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
fontWeight: FontWeight.bold,
),
),
),
),
],
)),
),
))
.toList();
这里是错误信息。
Null is not a subtype of Future.This will become a failure when runtime null safety is enabled.Restarted application in 63ms. RenderAspectRatio具有无界约束。 这个RenderAspectRatio被赋予了2的纵横比,但同时被赋予了无界的宽度和无界的高度约束。因为这两个约束都是无界的,所以这个渲染对象不知道要消耗多少尺寸.相关的致错widget是。 导致错误的相关部件是:
谁能给我一个提示,如何解决这个问题......
因为这两个约束都是无约束的,所以这个渲染对象不知道要消耗多少大小。
你可以像这样分配一个约束。
SizedBox(
width: 250, //here your width
height: 250, //here your height
child: CarouselSlider(
options: CarouselOptions(
aspectRatio: 2.0,
enlargeCenterPage: true,
enableInfiniteScroll: false,Ï
initialPage: 2,
autoPlay: false,
),
items: imageSliders,
)
)