【问题标题】:how to display random image on a container in flutter如何在颤动的容器上显示随机图像
【发布时间】:2021-07-13 14:20:23
【问题描述】:

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

【问题讨论】:

    标签: flutter flutter-appbar


    【解决方案1】:

    你应该列出所有的资产文件,像这样等等......

    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 和其他任务。

    【讨论】:

      【解决方案2】:

      你必须自己实现一些东西。我建议将可能的图像添加到列表中

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-16
        • 2014-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-08
        相关资源
        最近更新 更多