0%
القوائم: ListView وGridView والتمرير — الفصل 48

الفصل 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 للمشاركة في النقاش

تم نسخ الرابط!