Asma'a Alnadhari💫
Asma'a Alnadhari💫

@a_alnadhari

8 تغريدة 23 قراءة Jan 31, 2023
في بناء مشاريع الفلاتر لازم نركز على حاجتين:
1-Responsive:
إنه التصميم يكون متجاوب مع أحجام الشاشة المختلفة في: الطول والعرض وكمان ، في حالة تدوير الشاشة:
-portrait =>طولي
-landscape=>عرضي
2-Adaptive:
إنه البروجيكت يشتغل على أكثر من بلاتفورم مثل :
IOS, android, PC, Web etc.
🛑أولاً:Responsive.
معنا طريقتين :
>>landscape not active:
إنك توقف تشغيل التطبيق في حالة التدوير بالعرض والكود يكون بالmain (الكود موضح بالصورة )
وبعدين لها طريقتين عشان تشتغل البروجيكت تبعك بريسبونسيف عالي :
⚡-LayoutBuilder:
الويدجت هذه ،، الطول اللي تعطيه :
-يكون طول السكرين كامل إذا أخذت مكان الScaffold.
-يكون طول الbody فقط إذا أخذت مكان الbody.
الكود موضح بالصورة .
⚡- MediaQuery:
كلاس يورث من الinheritedWidget
لها عدة خصائص وتعد أكبر من الLayoutBuilderمن حيث المرونة والتوسع.
تشمل طول الآبس كامل أي تشملappbar,status bar, bottmbar.
الفكرة موضحة بالصورتين.
>>landscape active:
إنك تشغل البروجيكت في حالة التدوير وهذا يكون بأنك تحذف الكود الموجود في الدالة main الموجود بأول صورة .
وبعدين لها ثلاث طرق عشان تشتغل البروجيكت تبعك بريسبونسيف عالي:
⚡LayoutBuilder:
-تم شرحها مسبقًا.
⚡MediaQuery:
-تم شرحها مسبقًا.
⚡OrintationBuilder
هذه ويدجت برضو،، بحيث تعمل استثناءات لبعض الأكواد في العرض اذا كان الOrientation في الحالتين الآتيتين:
-portrait:
تعرض مثلًا البرودكت تبعك بشكل listview
-landscape:
تعرض مثلاً البرودكت تبعك بشكل Gridview عشان تحقق UX /UI
بشكل كفؤ أكثر.
الكود في الصورة التالية يوضح الفكرة.
🛑ثانيًا:Adaptive.
الفكرة أنه هنا بتستخدم الكلاس platform ومعه متغيرات static .
الكلاس موجود في باكج الdart:io.
وبحيث في استثناءات للعرض في بعض الوديجات بتعمل لها هاندل بحيث تظهر لأكثر من بلاتفورم والمتغيرات هذه،
موضح استخدامها في الصورة التالية .
عدا الويب يختلف التحقق المستخدم

جاري تحميل الاقتراحات...