如何在颤振中在容器上显示随机图像

时间:2021-07-13 14:20:23

标签: flutter flutter-appbar

我是 flutter 的新手。我想在容器中添加随机图片如何从资产()中添加随机图片? 例如,当用户使用我的应用程序并刷新页面时,容器中的图片将自动更改。

2 个答案:

答案 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];