一、效果图

2、主要代码
import 'dart:io';
import 'dart:math';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
class ImageGrid extends StatelessWidget {
final List<String> imageUrls;
final double containerSize = 72.0;
final double padding = 3.0;
final double spacing = 2.0;
ImageGrid({
required this.imageUrls});
double calculateImageWidth(int count) {
double containerWidth = 72;
double padding = 3;
double gap = 2;
if (count <= 4) {
return (containerWidth - padding * 2 - gap) / 2;
} else {
return (containerWidth - padding * 2 - gap * 2) / 3;
}
}
Widget _buildGrid() {
double imageWidth = calculateImageWidth(imageUrls.length);
int imageCount = imageUrls.length > 9 ? 9 : imageUrls.length;
if (imageCount == 1