רשת שנוצרה באמצעות בונה
חלק מהיחידה רשימות ומסכים במסלול ה-Flutter של Coddy. שיעור 11 מתוך 33.
לרשת של מאה תמונות יש אותה בעיה כמו לרשימה ארוכה: אי אפשר לכתוב כל אריח, ובניית כולם בבת אחת איטית. GridView.builder בונה אריחים כשהם נכנסים לגלילה, בדומה ל־ListView.builder:
GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
),
itemCount: photos.length,
itemBuilder: (context, index) {
return Image.network(photos[index]);
},
)השם הארוך, SliverGridDelegateWithFixedCrossAxisCount, מגדיר את פריסת הרשת: מספר קבוע של אריחים בכל שורה. הוא מקבל את crossAxisCount ואת המרווחים ש־GridView.count קיבל ישירות.
itemCount ו־itemBuilder פועלים כמו ברשימה: הבונה מקבל את ה־index של כל אריח, החל מ־0.
אתגר
קללוח השנה מציג רק את השבוע הראשון של June, שנכתב ידנית. החלף את GridView.count ב-GridView.builder שמציג את כל 30 הימים, ממוספרים מ-1, שבעה בכל שורה.
נסו בעצמכם
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('June')),
body: GridView.count(
padding: const EdgeInsets.all(8),
crossAxisCount: 7,
mainAxisSpacing: 4,
crossAxisSpacing: 4,
children: [
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('1'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('2'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('3'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('4'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('5'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('6'),
),
Container(
alignment: Alignment.center,
color: Colors.teal.shade100,
child: const Text('7'),
),
],
),
),
);
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה רשימות ומסכים
תרגלו בעצמכם: קומפיילר Flutter אונליין