我是 flutter 的新手。我想在容器中添加随机图片如何从资产()中添加随机图片? 例如,当用户使用我的应用程序并刷新页面时,容器中的图片将自动更改。
答案 0 :(得分:0)
您应该列出所有资产文件,诸如此类……
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
);
}
}
您还可以在有状态小部件的 initState 中执行 shuffle 和其他任务。
答案 1 :(得分:0)
你必须自己实现一些东西。我建议将可能的图像添加到列表中
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];