显示随机图像 Image.asset() flutter

G g*_*ffo 1 flutter flutter-layout

我想在 image.asset() 中显示随机图像,这是我尝试过的

     static var listImagesnotFound = [
    "assets/cactusno.jpg",
    "assets/colorednot.jpg",
    "assets/juno.jpg",
    "assets/notfound.png",
    "assets/robno.png",
    "assets/spano.jpg"
  ];
  static var _random = Random();
  var imageToShow =
      listImagesnotFound[_random.nextInt(listImagesnotFound.length)];
}
Image.asset(listImagesnotFound.toString()),
Run Code Online (Sandbox Code Playgroud)

Ani*_*han 5

尝试这个:

 dynamic listImagesnotFound = [
    "assets/cactusno.jpg",
    "assets/colorednot.jpg",
    "assets/juno.jpg",
    "assets/notfound.png",
    "assets/robno.png",
    "assets/spano.jpg"
  ];
Random rnd;

Widget buildImage(BuildContext context) {
  int min = 0;
  int max = listImagesnotFound.length-1;
  rnd = new Random();
  int r = min + rnd.nextInt(max - min);
  String image_name  = listImagesnotFound[r].toString();
  return Image.asset(image_name);
}

Or

Image img() {
  int min = 0;
  int max = listImagesnotFound.length-1;
  rnd = new Random();
  int r = min + rnd.nextInt(max - min);
  String image_name  = listImagesnotFound[r].toString();
  return Image.asset(image_name);
}

Then call your buildImage or img function like :

buildImage(context), 

or

img(),
Run Code Online (Sandbox Code Playgroud)

随机数可以生成任何数字,因此如果您不使用最小值或最大值,如果生成的随机数大于您的资产列表索引,则会返回错误。