بص، عادة اي حاجة بتكون محتاجة معلومات عن الـ Widget tree قبل ماتشتغل لازم تحطها في initState، يعني مثلاً لو استخدمت controller في PageView.builder فكنت بتحتاج تعمل Object من نوع Page Controller وتـ Assign ليه value فالـ initState.. ليه؟ عشان هو محتاج يعرف معلومات عن الـ Widget tree عشان يقدر يعملك كونترول ليها، معلومات زي ايه؟ عدد الويدجتس اللي فيها، السكرول هيبدأ من انهي ويدجت، يعني مثلاً هتلاقي في خاصية initialPage اللي بتديله فيها البيدج اللي يبدأ منها، هو ازاي هيوديك عالبيدج اللي انتا عاوزها لو هو ميعرفش اصلاً الـ PageView بتبدأ من انهو بيدج بالظبط، فلذلك لما بتديله قيمة فالـ initState هو بيشتغل تلقائياً قبل حتي مالـ UI يظهر قدامك فبالتالي يحصل علي المعلومات اللازمة اللي تقدر تخليه يشتغل. اتمني اكون فيدتك، الكومنت بعد 4 شهور وممكن تكون عرفت المعلومة بس عشان لو حد تاني مهتم.
التعريف الجديد للController final sc = ScrollController() ; @override void initState() { sc.addListener(() { /* print(sc.position.maxScrollExtent) ; print(sc.position.minScrollExtent) ; */ }) ; super.initState(); } يمكن تغير sc إلى أي اسم اخر يناسب معك
@@mustafasaadjawad4884 بتحول جميع عناصر ال ليست الداخلية ل عناصر فى ال ليست الخارجية مشروحة فى كورس الدارت للباشمهندس وائل و فى حلقة كاملة عنها فى دورة فلاتر
شكرا الك استاذ وائل انهيت هاي السلسلة وفهمتها الله يجزيك الخير يارب
راح اترك نفس التعليق
بارك الله فيك و نفع بك و فتح لك أبواب الخير 🩵🩵🩵🩵🩵
شكرا جزيلا لكم
يعطيك العافية اخ وائل ويسلموا الديات
ممكن يا استاذ تشرحلنا const لتم اضافتها في flutter 2.5.3 والتي تم اعتمادها في templet الإفتراضي في فلتر وشكرا
ياللي عم يصير معو خطأ يعرف بال class _TestState
late ScrollController sc;
❤❤❤
شكرا بشمهندس وائل علي الشرح الرائع كالعادة بس كان عندي استفسار بسيط ...هو ليه بيتم وضع الcontroller في الinitstate ؟
بص، عادة اي حاجة بتكون محتاجة معلومات عن الـ Widget tree قبل ماتشتغل لازم تحطها في initState، يعني مثلاً لو استخدمت controller في PageView.builder فكنت بتحتاج تعمل Object من نوع Page Controller وتـ Assign ليه value فالـ initState.. ليه؟ عشان هو محتاج يعرف معلومات عن الـ Widget tree عشان يقدر يعملك كونترول ليها، معلومات زي ايه؟ عدد الويدجتس اللي فيها، السكرول هيبدأ من انهي ويدجت، يعني مثلاً هتلاقي في خاصية initialPage اللي بتديله فيها البيدج اللي يبدأ منها، هو ازاي هيوديك عالبيدج اللي انتا عاوزها لو هو ميعرفش اصلاً الـ PageView بتبدأ من انهو بيدج بالظبط، فلذلك لما بتديله قيمة فالـ initState هو بيشتغل تلقائياً قبل حتي مالـ UI يظهر قدامك فبالتالي يحصل علي المعلومات اللازمة اللي تقدر تخليه يشتغل.
اتمني اكون فيدتك، الكومنت بعد 4 شهور وممكن تكون عرفت المعلومة بس عشان لو حد تاني مهتم.
@@omarrandoms4157 شكرا جزيلًا علي الرد و جعله الله في ميزان حسناتك
@@omarrandoms4157 انا دخلت عشان حاجه معينة بس استفدت برضو من التوضيح والشرح شكرا جداااااا
هل يمكنني حفظ بوزشن كل كونتنر في متغير خاص بيه اثناء عملية الليست جينيرات
التعريف الجديد للController
final sc = ScrollController() ;
@override
void initState() {
sc.addListener(() {
/* print(sc.position.maxScrollExtent) ;
print(sc.position.minScrollExtent) ; */
}) ;
super.initState();
}
يمكن تغير sc إلى أي اسم اخر يناسب معك
شنو معنى التلات نقاط
بتحول جميع عناصر ال ليست الداخلية ل عناصر فى ال ليست الخارجية مشروحة فى كورس الدارت للباشمهندس وائل و فى حلقة كاملة عنها فى دورة فلاتر
@@ahmedmady9938 تمام بارك الله فيك ❤
@@ahmedmady9938 رقم المقطع او رابطه لو تكرمت
عاشت ايدك بطل
اتمنى تجاوبوني
شنو معنى ال3 نقاط الي وضعهم؟
لما يكون عند list
داخل list
لازم تضع 3 ...
عشان تحل المشكلة
@@WaelabohamzaFlutter عشت وشكرا على الرد 💕💕
@@WaelabohamzaFlutter عندي سؤال ثاني لو سمحت
بعد وين تستخدم ال3 نقاط او هي تفسيرها المنطقي شنو تكدر توضحلي اكثر ؟
@@mustafasaadjawad4884 بتحول جميع عناصر ال ليست الداخلية ل عناصر فى ال ليست الخارجية مشروحة فى كورس الدارت للباشمهندس وائل و فى حلقة كاملة عنها فى دورة فلاتر
مشكور اخي
thank you
what language is this
framework flutter
Dart
تحديث
final sc = ScrollController();
@override
void initState() {
sc.addListener(() {
print(sc.offset);
print("Max Scroll : ${sc.position.maxScrollExtent}");
print("Min Scroll : ${sc.position.minScrollExtent}");
});
super.initState();
}