الفصل 48 — القوائم: ListView وGridView والتمرير
الجزء 1B — إنشاء تطبيقات Flutter · الفصل 48 من 62 · 8 ساعات
الفصل 48 — القوائم: ListView وGridView والتمرير
المستوى: متوسط المدة المقدّرة: 8 ساعات المتطلبات المسبقة: الفصول من 43 إلى 47 (التثبيت، الـ widgets، الحالة، التخطيطات، النصوص والصور)؛ الفصول 06 و08 و09 و14 من الجزء 1A (المجموعات، الأصناف، المُنشِئات،
map/where/sort) ما ستتقنه في نهاية الفصل: عرض أي مجموعة Dart على الشاشة في شكل قائمة أو شبكة عالية الأداء، وتصفيتها وفرزها وتحديثها وإعادة ترتيبها وحذف عناصر منها.
48.0 — أهداف الفصل
في نهاية هذا الفصل ستكون قادرًا على:
- شرح سبب عدم كفاية
Columnلعرض مجموعة من العناصر؛ - استخدام
SingleChildScrollViewومعرفة حدّه بدقة؛ - بناء
ListViewباستخدامchildren؛ - بناء
ListView.builderباستخدامitemCountوitemBuilder؛ - شرح سبب كون
.builderضروريًا، مدعومًا بالأرقام؛ - فصل العناصر عن بعضها باستخدام
ListView.separated؛ - استخدام
ListTileومناطقه الخمس (leadingوtitleوsubtitleوtrailingوonTap)؛ - تغليف البلاطة داخل
Card؛ - كتابة بلاطة مخصّصة خاصة بك؛
- عرض
List<Joueur>مبنية بالأصناف التي تعلّمتها في الفصل 08؛ - تحديد متى تستخدم
shrinkWrapوphysics، ومتى يجب ألّا تستخدمهما إطلاقًا؛ - تشخيص الرسالة
Vertical viewport was given unbounded height.وإصلاحها؛ - التحكم في التمرير باستخدام
ScrollController؛ - اكتشاف الوصول إلى أسفل القائمة لتحميل الصفحة التالية؛
- إضافة زر «العودة إلى الأعلى»؛
- بناء شبكة باستخدام
GridView.count؛ - بناء شبكة عالية الأداء باستخدام
GridView.builderوSliverGridDelegate؛ - ضبط
crossAxisCountوchildAspectRatioوmainAxisSpacingوcrossAxisSpacing؛ - جعل الشبكة متجاوبة باستخدام
SliverGridDelegateWithMaxCrossAxisExtent؛ - حذف عنصر بالسحب باستخدام
Dismissible؛ - شرح سبب كون
KeyفيDismissibleإلزاميًا؛ - إتاحة التراجع عن الحذف باستخدام
SnackBarوSnackBarAction؛ - تحديث قائمة باستخدام
RefreshIndicator؛ - إعادة ترتيب قائمة باستخدام
ReorderableListView؛ - العناية بالحالة الفارغة في شاشاتك؛
- تصفية قائمة معروضة وفرزها؛
- ربط شريط بحث بقائمة؛
- التعرّف على
CustomScrollViewوالـ slivers؛ - طيّ الترويسة باستخدام
SliverAppBar؛ - تطبيق أفضل ممارسات الأداء (
constوitemExtentوالتخزين المؤقت للصور)؛ - إنجاز شاشة كاملة بعنوان «قائمة الأعداء» قابلة للتصفية والفرز والحذف.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش