الوصف: عنصر مرن يستخدم لإنشاء مربعات يمكن التحكم في الحجم، اللون، الحواف، الهامش... إلخ.
الخصائص المهمة:
width: العرضheight: الارتفاعcolor: لون الخلفيةmargin: المسافة الخارجيةpadding: المسافة الداخليةdecoration: لتزيين الخلفية (تدرج لوني، حواف دائرية...)child: عنصر واحد داخله
مثال:
Container(
width: 100,
height: 100,
color: Colors.blue,
child: Center(child: Text('Hello')),
)الوصف: تُستخدم لعرض نص على الشاشة.
الخصائص المهمة:
style: تنسيق النص (اللون، الحجم، السمك..)textAlign: محاذاة النصoverflow: تحديد ما إذا كان النص يتجاوز المساحة المخصصة
مثال:
Text(
'مرحبا',
style: TextStyle(fontSize: 20, color: Colors.black),
textAlign: TextAlign.center,
)الوصف: لعرض عناصر بشكل عمودي.
الخصائص المهمة:
children: العناصر اللي جوهmainAxisAlignment: توزيع العناصر على المحور الرأسيcrossAxisAlignment: المحاذاة الأفقية
مثال:
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('العنصر الأول'),
Text('العنصر الثاني'),
],
)الوصف: لعرض العناصر جنب بعض (أفقيًا).
الخصائص المهمة:
- زي
Column
مثال:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(Icons.home),
Icon(Icons.settings),
],
)الوصف: لإنشاء مساحة فارغة أو عنصر بحجم محدد.
الخصائص المهمة:
widthheightchild(اختياري)
مثال:
SizedBox(height: 20)الوصف: يستخدم لملء المساحة المتاحة داخل Row أو Column.
مثال:
Row(
children: [
Expanded(child: Container(color: Colors.red)),
Expanded(child: Container(color: Colors.green)),
],
)الوصف: قائمة قابلة للتمرير عموديًا أو أفقيًا.
الخصائص المهمة:
childrenscrollDirection: الاتجاه (عمودي/أفقي)itemBuilder: عند استخدامListView.builder
مثال:
ListView(
children: [
ListTile(title: Text('عنصر 1')),
ListTile(title: Text('عنصر 2')),
],
)الوصف: هو الهيكل الأساسي لأي صفحة في Flutter، ويحتوي على AppBar وBody وDrawer وBottomNavigationBar وغيرها.
الخصائص المهمة:
appBar: شريط العنوانbody: محتوى الشاشةfloatingActionButton: زر عائمdrawer: قائمة جانبية
مثال:
Scaffold(
appBar: AppBar(title: Text('عنوان الصفحة')),
body: Center(child: Text('أهلاً')),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
)الوصف: شريط علوي يظهر في بداية الصفحة يحتوي على عنوان وأزرار.
الخصائص المهمة:
title: عنوان الصفحةactions: أزرار على الجانب الأيمن
مثال:
AppBar(
title: Text('صفحتي'),
actions: [
IconButton(
icon: Icon(Icons.search),
onPressed: () {},
)
],
)الوصف: مربع إدخال نصوص (مثل كتابة الاسم أو الإيميل).
الخصائص المهمة:
controller: للتحكم في النصdecoration: لتعديل الشكل مثل وضع placeholderkeyboardType: نوع لوحة المفاتيح (نص، رقم...)onChanged: حدث عند تغيير النص
مثال:
TextField(
decoration: InputDecoration(
labelText: 'الاسم',
border: OutlineInputBorder(),
),
)الوصف: زر قابل للنقر برفع بسيط عن الخلفية.
الخصائص المهمة:
onPressed: الحدث عند الضغطchild: المحتوى داخل الزر (نص، أيقونة...)
مثال:
ElevatedButton(
onPressed: () {
print('تم الضغط');
},
child: Text('اضغط هنا'),
)الوصف: يستخدم لكشف حركات اللمس مثل الضغط أو السحب على أي عنصر.
الخصائص المهمة:
onTap: عند الضغطonDoubleTap: عند الضغط مرتينonLongPress: عند الضغط المطول
مثال:
GestureDetector(
onTap: () {
print('تم الضغط');
},
child: Container(
padding: EdgeInsets.all(20),
color: Colors.amber,
child: Text('اضغط عليّ'),
),
)الوصف: لعرض العناصر فوق بعضها (مثل طبقات).
الخصائص المهمة:
children: قائمة العناصرalignment: محاذاة العناصر
مثال:
Stack(
children: [
Container(width: 200, height: 200, color: Colors.red),
Positioned(
top: 20,
left: 20,
child: Container(width: 100, height: 100, color: Colors.green),
),
],
)