شارك المقالة

الطريقة الصحيحه لعمل scroll للعناصر في حالة وجود ListView في flutter باستخدام CustomScrollView


الطريقة الصحيحه لعمل scroll للعناصر في حالة وجود ListView في flutter باستخدام CustomScrollView

في هذا المقال سوف نشرح معكم كيف تقوم ببناء ScrollView في حالة اذا كان لديك احد العناصر موجوده بالاعلى وتريد ان تقوم بعمل ScrollView كامل للشاشه وهذا اذا كان لديك جزء في الاعلى يحتوي على عنصر وبالاسفل مباشرة لديك listView وعند عمل scroll سوف يتم تحريك الشاشه بالكامل مع المحافظه على اداء تطبيقك وعدم فقط الاداء وهذا لاننا سوف نستعمل CustomScrollView وليس SingleChildScrollView كما سوف نشاهد في الكود التالي .


android sdk manager تحميل flutter developers applications create app android android studio mac


How to scroll list in Flutter and save performance

في المثال الموجود بالاعلى لدينا الكود الخطا والذي يستخدمه الكثير منكم واسفله الكود  الصحيح والذي يفضل استخدامه بالنسبة للكود الاول فهو باستخدام SingleChildScrollView وايضا تم استخدام shrinkWrap وهذا خطأ كبير لانك باستعمالك لهذا الامر فانك تخبر البرنامج بان يظهر جميع العمليات التي توجد داخل ال list وهذا يؤثر على الاداء طبعا ولحل هذه المشكلة عليك بان تقوم بوضع الـ list بدون shrinkWrap ويفضل استخدام ايضا CustomScrollView اذا كنت سوف تقوم بعمل scroll لمجموعه من العناصر تريد ان تظهر .


الطريقة الصحيحه لعمل scroll للعناصر في حالة وجود ListView في flutter باستخدام CustomScrollView

scroll.dart


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        slivers: [
          SliverToBoxAdapter(
            child: Container(
              height: 200,
              color: Colors.red,
            ),
          ),

          SliverToBoxAdapter(
            child: Container(
              height: 50,
              color: Colors.black54,
              child: Center(child: Text('List View'),),
            ),
          ),

          SliverList(delegate: SliverChildBuilderDelegate(
            (BuildContext context, int index) {
              print('index: $index');
              return ListTile(title: Text('index $index'));
            },
            childCount: 100,
          )),
        ],
      )
    );
  }
  


شاهد أيضًا
مقالات ذات صلة
ما هو RouteObserver وRouteAware في Flutter؟

ما هو RouteObserver وRouteAware في Flutter؟تعد إدارة التنقل جزءًا مهمًا من أي تطبيق Flutter وبعض…

كيفية تقليل حجم مشاريع Flutter على جهازك

كيفية تقليل حجم مشاريع Flutter على جهازكيعد Flutter أحد أكثر أطر العمل شيوعًا لتطوير تطبيقات…

شرح Single Responsibility Principle في مبادئ ال Solid لكتابة كود منظم

شرح Single Responsibility Principle في مبادئ ال Solid لكتابة كود منظم ربما تكون قد سمعت…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع