شرح مفصل للـ slivers في فلاتر


مرحبًا بمجتمع flutter الرائع سيكون حديثُنا اليوم حول موضوعًا متخصصًا للغاية - نتحدث عن جزء يمكن لمعظم مطوري التطبيقات تفاديه وإنشاء تطبيقات بتصاميم جميلة دون الحاجة إلى معرفته أو فهمه.  و عادة إذا ما كنت بحاجة إلى استعمال قائمة قابلة للسحب (التمرير) في جزء من تطبيقك ، فإن ListView و GridView سيقومان بالمهمة بصورة ممتازة .  و (خلص و أنتهى بلا وجع رأس).  ولكن ، إذا كنت تبحث عن معرفة أعمق وترغب في جرعة إضافية من الجمال  فأكمل القراءة
في الأسفل مثال لصورتين يصعب تنفيذهُما عن طريق الـ listview


ملاحظة سريعة : 
... إذا كنت تكره القراءة ، فبإمكانك الإطلاع على مقطعي الفيديو اللذين يلخصان الأفكار من هذه المقالة بسرعة:




(ياااااه ، دا نت لسه بتقرى !!) ، يبقى نكمل

ماهو الـ sliver , و متى نحتاجه ؟

عادة الاحظ ، أن مطوري فلاتر دائمًا ما يتهربون من استعمال الـ slivers ، وكأنها بعبع أو باتو ، مع أن الأمر ، أبسط من الازم و الـ sliver ما هو إلا listview عادي ولكن مع خصائص أكبر ، وتعطيك المزيد من الدقة و الخيارات ، وفي بعض الحالات قد يكون استعمال الـ sliver , أكثر كفائة ، مثل :

  • الحوجة لشريط عنوان بمزيد من الخصائص ، كإخفأه عند السحب للأعلى ، أو تغيير حجمه أو نصه ... إلى آخره
  • إضافة أنيميشن مخصص عند السحب للأعلى أو الأسفل  ، شاهد المثال بالصور أدناه
  • دمج listview و gradeView في آن واحد


مثال يبين عملية دمج قائمة و شبكة في آن واحد

طريقة الاستخدام

ولا أسهل ! ، كما تحتاج إليه هو وضع جميع الـ slivers ، بداخل CustomScrollView و الباقي متروك لك !

أنواع السليڤرز و كيفية استخدامِها :

فلنبدأ التعرف على أنواع الـ slivers بصورة أكثر تفصيلًا 

SliverList:

في sliverlist هنالك براميتر اسمه delegate وهو المسؤول عن عملية إنشاء المكونات داخل القائمة ، وهذا البراميتر يأخذ كائن من النوع SliverChildListDelegate ، ويقوم بتوليد أو إنشاء جميع العناصر دفعة واحدة. ، طبعًا هنالك نوع آخر يمكن أن يمرر للـ delegate وهو SliverChildBuilderDelegate ، والثاني يقوم ببناء العناصر عند الحاجة لها فقط ، ، مثلًا لو فرضنا ، أن القائمة مكونة من عدد عناصر غير معروف ، فعندها نستعمله



تعليقات

المشاركات الشائعة من هذه المدونة

إنشاء نظام تنقل شبيه بتويتر لتطبيقك بستخدام flutter