我没有遇到任何问题,但是我有一个问题,因为我必须在应用程序中添加多个图像。假设将来这些图像的数量会变大,所以我只想知道如何在颤动中使用函数。
这就是我现在添加图像的方式:
Container(color: Colors.redAccent, height: 2),
SizedBox(height: 8),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: Image.asset(
'assets/cat.jpg',
width: 110.0,
height: 100.0,
fit: BoxFit.fill,
),
),
Spacer(flex:1),
Expanded(
child: Image.asset(
'assets/cat.jpg',
width: 110.0,
height: 100.0,
fit: BoxFit.cover,
),
),
],
),
预期:
我的输出:
答案 0 :(得分:1)
由于您在代码中使用了资产图片,因此我也在发布资产代码,因此您可以相应地更改逻辑。这是示例代码。
int _count = 0;
List<String> _listImages = [
"assets/images/chocolate_pic.png",
"assets/images/profile.png",
"assets/images/loading.gif",
];
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(onPressed: _addImages, child: Icon(Icons.add),),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: GridView.builder(
itemCount: _listImages.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, mainAxisSpacing: 20, crossAxisSpacing: 20),
itemBuilder: (_, index) {
return Image.asset(_listImages[index], fit: BoxFit.cover, width: 100, height: 100);
},
),
),
);
}
void _addImages() {
setState(() {
_listImages.add(_listImages[_count % 3]);
++_count;
});
}