使用GridView.custom()及SliverChildBuilderDelegate()
import 'package:flutter/material.dart';
void main(List<String> args) {
runApp(
const MaterialApp(
home: HomePage(),
debugShowCheckedModeBanner: false,
),
);
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String datas =
"ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
@override
Widget build(BuildContext context) {
return Scaffold(
body: GridView.custom(
gridDelegate:
const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 4),
childrenDelegate: SliverChildBuilderDelegate((context, index) {
return ColoredBox(
color: Colors.primaries[index % Colors.primaries.length],
child: Center(
child: Text(datas.split("")[index]),
),
);
}),
));
}
}