我是flutter的新手。我想在容器中添加随机图片如何从assets((添加随机图片?例如,当用户使用我的应用程序并刷新页面时,容器中的图片将自动更改。
你应该列出所有像这样的资产文件…
List<String> assets=['assets/file1.png','assets/file2.png'];
在您的构建函数中调用assets.shuffle()
。这将以随机顺序重新排序资产文件,然后生成一个可变的图像路径:-
String imagePath=assets[0];//now this will store a random image path ..
完整代码:-
class MyApp extends StatelessWidget {
List<String> assets=['assets/file1.png','assets/file2.png'];
String imagePath;
@override
Widget build(BuildContext context) {
assets.shuffle();//shuffle over here
imagePath=assets[0];//store random image over here
return Container(
child: Image.asset(imagePath),//show random image
);
}
}
您还可以在statefull小部件的initState中执行shuffle和其他任务。
您必须自己实现一些东西。我建议将可能的图像添加到列表中
const List<String> randomImages = [
"assets/images/image1",
"assets/images/image2",
"assets/images/image3",
"assets/images/image4",
"assets/images/image5",
];
然后使用darts随机类,找到一个随机int作为索引,该索引由字符串的长度限定
Random random = Random()
int randomIndex = random.nextInt(randomImages.length)
Image randomImage = randomImages[randomIndex];