Flutter | Mahmoud Azab – Telegram
Flutter | Mahmoud Azab
10.2K subscribers
1.82K photos
139 videos
11 files
306 links
اسألني في اي مشكله ان شاء الله أقدر اساعدك
🎃 @mahmoud_azab99 🎃
Download Telegram
#منقول
السلام عليكم ورحمة الله وبركاته
{وَتَعَاوَنُوا عَلَى الْبِرِّ وَالتَّقْوَى وَلا تَعَاوَنُوا عَلَى الإثْمِ وَالْعُدْوَانِ..}
قال ﷺ: الدال على الخير كفاعله
دي ريبو فيها اغلب ما تحتاجه من داتا ك ديفيلوبر علشان تعمل تطبيق او ويبست اسلاميه

[https://github.com/Epic-Apps-Hub/Islamic-and-quran-data](https://github.com/Epic-Apps-Hub/Islamic-and-quran-data)
❤‍🔥19🔥1
Ever wanted to track page views or add navigation breadcrumbs to your error logs?

This can be done by implementing a NavigatorObserver.

Here's some sample code showing how to implement this. 👇
❤‍🔥7🔥1
السلام عليكم ورحمة الله وبركاته
دي PlayList تم شرح فيها

✅️Upload image .
✅️Upload video .
✅️Upload file .
✅️Recored audio and Upload it .



https://youtube.com/playlist?list=PLI9ftWkl517Tt3mijtUpQsbltZYck1HMw
❤‍🔥10🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Range Grid View
مثالي لأي تطبيق يتطلب تحديد كميات كبيرة (مثل الصور، الملفات، إلخ)

https://github.com/mazab99/range_gird_view

قناه اليوتيوب

https://youtube.com/@mazab99
❤‍🔥11
The flow diagram of the switch…case statement is as follows
❤‍🔥9
Preload Svg Files 👌

LinkedIn

https://www.linkedin.com/in/mazap64
❤‍🔥5
السلام عليكم ورحمة الله وبركاته

فيديو بسيط بوضح فيه ازاي تعمل ترجمه لاسم التطبيق بتاعك علي حسب لغه الموبايل


https://youtu.be/33Mwz8HyXuQ?si=TIgFwON20RJ6691c
❤‍🔥4
https://www.figma.com/design/czkRpUoU7NxIaDNrf41nol/Telegram?node-id=0-1&t=JaAdV1QsfLaGTTbn-1

اللي عايز يتدرب علي مشروع

ده تصميم مشروع متجر
اعتبروه تحدي واعملوه كتدريب ليكم
بالتوفيق ان شاء الله ❤️
🔥10❤‍🔥2
❤‍🔥4🤯1
🔥تحسين أداء تطبيقات Flutter باستخدام
Keys
سر لا يعرفه الكثيرون

أحد المفاهيم المهمة اللي العديد من المطورين لا ينتبهون لها في Flutter هو Keys. استخدام الـ Keys بشكل صحيح يمكن أن يحل مشاكل الأداء والمشاكل الغامضة في بناء واجهة المستخدم.

✅️ ما هي Keys في Flutter؟
الـ Keys تساعد Flutter في التمييز بين widgets المختلفة عند حدوث تغييرات كبيرة في الواجهة. عند استخدام keys، نضمن أن الـ widgets تتحرك أو تتغير بناءً على هويتها الفريدة، وليس فقط بناءً على ترتيبها في الواجهة.

✅️ لماذا نستخدم Keys؟

✔️ الحفاظ على حالة الواجهة: عند إعادة ترتيب الـ widgets داخل الـ widget tree، استخدام keys يضمن أن حالة الـ widgets لا تضيع.

✔️ تحسين الأداء: استخدام keys بشكل صحيح يقلل من إعادة بناء أجزاء كبيرة من الواجهة، مما يحسن من الأداء.

✔️ حل مشاكل إعادة ترتيب العناصر: على سبيل المثال، إذا كان لديك ListView وتقوم بإضافة أو حذف عناصر، من دون الـ keys قد يقوم Flutter بإعادة بناء كل العناصر بدلاً من التركيز على العناصر التي تغيرت فقط.

✅️ أنواع الـ Keys:

1️⃣ GlobalKey:

هذا النوع من keys

يمنح الـ widget هوية فريدة على مستوى التطبيق بأكمله، وليس فقط داخل شجرة معينة. نستخدمه عندما نحتاج للوصول إلى حالة الـ widget من أي مكان في التطبيق أو عند التنقل بين الشاشات.


final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();

@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: AppBar(
noscript: Text('Using GlobalKey'),
),
body: Center(
child: Text('Hello World'),
),
);
}

2️⃣ UniqueKey:

هذا الـ Key فريد لكل مرة يتم استدعاؤه فيها. مفيد عندما تحتاج إلى أن يقوم Flutter بإعادة بناء الـ widget في كل مرة، حتى إذا لم يتغير موقعه في الـ widget tree.


List<Widget> items = [
Container(
key: UniqueKey()
, color: Colors.red, height: 50
),
Container(
key: UniqueKey(),
color: Colors.blue, height: 50),
];

3️⃣ ValueKey:

هذا النوع يكون مفيدًا عندما يكون لديك قيمة معينة تحدد بها تميز الـ widgets.

على سبيل المثال، ListView

وكل عنصر لديه id أو name فريد.


List<String> names =
['Mahmoud', 'Ahmed', 'Usama'];

@override
Widget build(BuildContext context) {
return ListView(
children: names.map((name) {
return ListTile(
key: ValueKey(name),
noscript: Text(name),
);
}).toList(),
);
}




https://www.linkedin.com/posts/mazap64_flutter-dart-activity-7255194849077854208-HQ1C?utm_source=share&utm_medium=member_android
🔥14❤‍🔥4🆒1
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
❤‍🔥11
إزاي تستخدم
flutter_launcher_icons

مع ملف إعدادات منفصل في Flutter؟

لو إنت مطور Flutter، أكيد عارف إن الأيقونة بتاعت التطبيق مهمة جدًا. في البوست ده، هشارك معاك إزاي تستخدم مكتبة flutter_launcher_icons علشان تخصص أيقونة التطبيق بتاعك بطريقة سهلة، باستخدام ملف إعدادات منفصل.

✅️ الخطوات:

1️⃣ إنشاء ملف الإعدادات :
  أول حاجة، اعمل ملف جديد في فولدر المشروع بتاعك اسمه
flutter_launcher_icons.yaml.

2️⃣ إضافة إعدادات الأيقونة :
  افتح الملف وضيف إعدادات الأيقونة بتاعتك. هنا نموذج بسيط لشكل المحتوى:



  flutter_launcher_icons:
   android: true
   ios: true
   image_path: "assets/icon/app_icon.png"



  تأكد إنك تعدل image_path بحيث يشير لمسار ملف الأيقونة اللي عندك.

3️⃣ تشغيل الأمر :
  بعد ما تخلص إعداد الملف، شغل الأمر ده في التيرمينال:


  dart run flutter_launcher_icons --file flutter_launcher_icons.yaml


الأيقونات:

🔹 أيقونة التطبيق: تأكد إن الأيقونة اللي هتستخدمها موجودة في المسار المحدد.

🔹 أيقونات Android : تأكد إن الأيقونات بتظهر بشكل صحيح على أجهزة Android.

🔹 أيقونات iOS : لازم تتأكد إن الأيقونات متوافقة مع متطلبات iOS.

بكده، تقدر تخصص أيقونة التطبيق بتاعك بسهولة. أتمنى تكون الخطوات دي مفيدة ليك، ولو عندك أي استفسارات، متترددش تسأل!


ان شاءالله هعمل فيديو أشرح فيه ازاي تعمل أيقونة التطبيق بنفسك وتكون مطابقه للشروط


https://www.linkedin.com/posts/mazap64_mahmoudabrazab-activity-7255578920169742336-u8i4?utm_source=share&utm_medium=member_android
❤‍🔥8🔥1
🔥8❤‍🔥3