اسألني في اي مشكله ان شاء الله أقدر اساعدك
🎃 @mahmoud_azab99 🎃
Post #1897
3.86K
طيب انت ليه بتعطي الcontext كparameter للmethod 🤔🤔🤔
getScreenWidth(context)=>MediaQuery.of(context)
سبق و قلتلك الcontext يلي انا محتاجه هو المسار بتاع الapp بتاعي يلي موجود بالmain Widget او اي حاجة وارثة منها و انا حاليا جوا class خارجي مش وارث من الmain و اي شي تابع لها لكن بفضل الstatic انا ممكن استخدم الmethod دون انشاء عينة من الclass و ممكن أثناء استخدامها بأي widget اعطيها الcontext بتاع الwidget يلي في النهاية تابع للmain و كدا انا اقدرت استخدم مسار الapplication
طيب نكمل
MediaQuery.of(context).size
دورلي بكل ما هو محيط بالجهاز في مسار الApplication بتاعي على الsize الحجم
و يقصد بها حجم الشاشة
و زي ما انت عارف ان الشاشة ليها طول و عرض
MediaQuery.of(context).size.width
كدا جبت عرض الشاشة
MediaQuery.of(context).size.height
كدا جبت طول الشاشة
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
هي عملية اقدر استخدمها دون انشاء عينة من الclass و بتاخذ مني مسار يلي هو مسار الapplication بتاعي ك parameter و بترجعلي رقم يلي هو عرض الشاشة
يلي بجيبو من خلال أقول ابحثلي بكل ما يحيط بالجهاز بالمسار يلي انا مدهولك و يلي الapplication بتاعي ابحثلي عن الحجم و جبلي من عرض الشاشة
و نفس الكلام بالنسبة لطول الشاشة
بالنهاية ملف ال my_media.dart
جواه
class MyMedia{
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
}
طيب انا عايز استخدم الclass دا
بروح على اي Widget
مثلا
Text(
"Hi", style:TextStyle(
color: Colors.red,
)
)
انا عايز عالشاشة يلي عرضها أقل من 700 يكون لون الخط فيها احمر و يلي اكبر من 700 لون الخط يكون فيها أخضر 🤔🤔
Text(
"Hi", style:TextStyle(
color: (MyMedia.getScreenWidth(context))
<700? Colors.red,
: Colors.green
)
)
كدا حيعطيني احمر على الشاشات يلي اصغر من 700 و اخضر على الشاشات يلي اكبر من 700
و كدا منكون ربحنا أول معركة بالحرب يلي هي
الاستراتيجية اللحظية
و ان شاء الله نكمل لاحقا بباقي الاستراتيجيات
اتمنى أن تكونوا استفدتم و لا تنسونا من خالص دعائكم و like share و comment للصفحة كي تعم الفائدة وشكرا لحسن قرائتكم 🤍🤍
#منقول
getScreenWidth(context)=>MediaQuery.of(context)
سبق و قلتلك الcontext يلي انا محتاجه هو المسار بتاع الapp بتاعي يلي موجود بالmain Widget او اي حاجة وارثة منها و انا حاليا جوا class خارجي مش وارث من الmain و اي شي تابع لها لكن بفضل الstatic انا ممكن استخدم الmethod دون انشاء عينة من الclass و ممكن أثناء استخدامها بأي widget اعطيها الcontext بتاع الwidget يلي في النهاية تابع للmain و كدا انا اقدرت استخدم مسار الapplication
طيب نكمل
MediaQuery.of(context).size
دورلي بكل ما هو محيط بالجهاز في مسار الApplication بتاعي على الsize الحجم
و يقصد بها حجم الشاشة
و زي ما انت عارف ان الشاشة ليها طول و عرض
MediaQuery.of(context).size.width
كدا جبت عرض الشاشة
MediaQuery.of(context).size.height
كدا جبت طول الشاشة
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
هي عملية اقدر استخدمها دون انشاء عينة من الclass و بتاخذ مني مسار يلي هو مسار الapplication بتاعي ك parameter و بترجعلي رقم يلي هو عرض الشاشة
يلي بجيبو من خلال أقول ابحثلي بكل ما يحيط بالجهاز بالمسار يلي انا مدهولك و يلي الapplication بتاعي ابحثلي عن الحجم و جبلي من عرض الشاشة
و نفس الكلام بالنسبة لطول الشاشة
بالنهاية ملف ال my_media.dart
جواه
class MyMedia{
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
static double getScreenWidth(context)=>MediaQuery.of(context).size.width;
}
طيب انا عايز استخدم الclass دا
بروح على اي Widget
مثلا
Text(
"Hi", style:TextStyle(
color: Colors.red,
)
)
انا عايز عالشاشة يلي عرضها أقل من 700 يكون لون الخط فيها احمر و يلي اكبر من 700 لون الخط يكون فيها أخضر 🤔🤔
Text(
"Hi", style:TextStyle(
color: (MyMedia.getScreenWidth(context))
<700? Colors.red,
: Colors.green
)
)
كدا حيعطيني احمر على الشاشات يلي اصغر من 700 و اخضر على الشاشات يلي اكبر من 700
و كدا منكون ربحنا أول معركة بالحرب يلي هي
الاستراتيجية اللحظية
و ان شاء الله نكمل لاحقا بباقي الاستراتيجيات
اتمنى أن تكونوا استفدتم و لا تنسونا من خالص دعائكم و like share و comment للصفحة كي تعم الفائدة وشكرا لحسن قرائتكم 🤍🤍
#منقول
- ❤ 18
- 👍 10
- 👏 3
- 🔥 2















