【发布时间】:2021-07-13 14:20:23
【问题描述】:
我是 Flutter 的新手。我想在容器中添加随机图片如何从 assets() 添加随机图片? 例如,当用户使用我的应用程序并刷新页面时,容器中的图片会自动更改。
【问题讨论】:
我是 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",
];
然后使用飞镖随机类,找到一个随机int用作以字符串长度为界的索引
Random random = Random()
int randomIndex = random.nextInt(randomImages.length)
Image randomImage = randomImages[randomIndex];
【讨论】: