By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: شرح استخدام ويدجت Row في فلاتر
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Widgets > شرح استخدام ويدجت Row في فلاتر
Widgets

شرح استخدام ويدجت Row في فلاتر

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 7 دقيقة للقراءة 3204 مشاهدات 5
شارك
شرح استخدام ويدجت Row في فلاتر
شرح استخدام ويدجت Row في فلاتر
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

تعتبر ويدجت Row واحدة من العناصر الأساسية في Flutter التي تستخدم لترتيب العناصر على نفس السطر، سواء كانت عناصر نصية أو أخرى. توفر هذه الويدجت العديد من الخصائص التي تسمح بتخصيص ترتيب العناصر بشكل مفصل وفقًا لاحتياجات التطبيق. في هذا المقال، سنقوم بشرح كيفية استخدام ويدجت Row وجميع خصائصها بالتفصيل مع التوضيح بالأكواد.

المحتويات
استخدام ويدجت Row في فلاترشرح خصائص ويدجت Row في فلاترالخاصية mainAxisAlignmentالخاصية crossAxisAlignmentالخاصية mainAxisSizeالخاصية textDirectionالخاصية verticalDirectionالخاصية crossAxisAlignment و textBaseline معًامثال على استخدام Row في Flutter:

استخدام ويدجت Row في فلاتر

لإنشاء ويدجت Row في Flutter، يمكن استخدام الكود التالي:

Row(
  children: <Widget>[
    // Add your widgets here
  ],
)

تتضمن ويدجت Row خاصية children التي تستخدم لإضافة العناصر التي تريد ترتيبها في نفس السطر. يتم تحديد العناصر باستخدام قائمة من العناصر.

“اقرأ أيضاً: شرح استخدام ويدجت StreamBuilder في فلاتر“


شرح خصائص ويدجت Row في فلاتر

توفر ويدجت Row العديد من الخصائص التي يمكن استخدامها لتخصيص ترتيب العناصر على نفس السطر. سنقوم بشرح جميع الخصائص بالتفصيل وكيفية استخدامها.

الخاصية mainAxisAlignment

تستخدم هذه الخاصية لتحديد توزيع العناصر الرئيسية داخل السطر. يمكن استخدام القيم التالية:

  • MainAxisAlignment.start: يوضع العنصر الأول في اليسار وتتبع العناصر الأخرى على نفس الخط.
  • MainAxisAlignment.end: يوضع العنصر الأخير في اليمين وتتبع العناصر الأخرى على نفس الخط.
  • MainAxisAlignment.center: يتم توزيع العناصر بالتساوي حول الوسط.
  • MainAxisAlignment.spaceBetween: يتم توزيع العناصر بالتساوي بين الحواف.
  • MainAxisAlignment.spaceAround: يتم توزيع العناصر بالتساوي حول الحواف.

سترى الخصائص المختلفة في الأمثلة التالية:

// MainAxisAlignment.start example
Row(
  mainAxisAlignment: MainAxisAlignment.start,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// MainAxisAlignment.end example
Row(
  mainAxisAlignment: MainAxisAlignment.end,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// MainAxisAlignment.center example
Row(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// MainAxisAlignment.spaceBetween example
Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// MainAxisAlignment.spaceAround example
Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

“اقرأ أيضاً: شرح استخدام ويدجت ClipOval في فلاتر“

الخاصية crossAxisAlignment

تستخدم هذه الخاصية لتحديد توزيع العناصر عموديًا داخل السطر. يمكن استخدام القيم التالية:

  • CrossAxisAlignment.start: يوضع العنصر الأول في الأعلى وتتبع العناصر الأخرى أسفله.
  • CrossAxisAlignment.end: يوضع العنصر الأخير في الأسفل وتتبع العناصر الأخرى أعلى منه.
  • CrossAxisAlignment.center: يتم توزيع العناصر بالتساوي على طول المحور الرأسي.
  • CrossAxisAlignment.stretch: تمتد العناصر لتملأ الفراغ العمودي.
  • CrossAxisAlignment.baseline: تمر العناصر على نقطة أساس محددة.

سترى الخصائص المختلفة في الأمثلة التالية:

// CrossAxisAlignment.start example
Row(
  crossAxisAlignment: CrossAxisAlignment.start,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// CrossAxisAlignment.end example
Row(
  crossAxisAlignment: CrossAxisAlignment.end,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// CrossAxisAlignment.center example
Row(
  crossAxisAlignment: CrossAxisAlignment.center,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// CrossAxisAlignment.stretch example
Row(
  crossAxisAlignment: CrossAxisAlignment.stretch,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// CrossAxisAlignment.baseline example
Row(
  crossAxisAlignment: CrossAxisAlignment.baseline,
  textBaseline: TextBaseline.alphabetic,
  children: <Widget>[
    Text('First', style: TextStyle(fontSize: 20)),
    Text('Second', style: TextStyle(fontSize: 30)),
    Text('Third', style: TextStyle(fontSize: 40)),
  ],
)

الخاصية mainAxisSize

تستخدم هذه الخاصية لتحديد حجم السطر. يمكن استخدام القيمتين التاليتين:

  • MainAxisSize.max: يتم تمديد السطر ليملأ المساحة المتاحة.
  • MainAxisSize.min: يتم ضغط السطر إلى أصغر حجم ممكن.

سترى الخصائص المختلفة في الأمثلة التالية:

// MainAxisSize.max example
Row(
  mainAxisSize: MainAxisSize.max,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// MainAxisSize.min example
Row(
  mainAxisSize: MainAxisSize.min,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

الخاصية textDirection

تستخدم هذه الخاصية لتحديد اتجاه النص داخل السطر. يمكن استخدام القيمتين التاليتين:

  • TextDirection.ltr: الاتجاه من اليسار إلى اليمين.
  • TextDirection.rtl: الاتجاه من اليمين إلى اليسار.

سترى الخصائص المختلفة في الأمثلة التالية:

// TextDirection.ltr example
Row(
  textDirection: TextDirection.ltr,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// TextDirection.rtl example
Row(
  textDirection: TextDirection.rtl,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

الخاصية verticalDirection

تستخدم هذه الخاصية لتحديد اتجاه العناصر العمودية داخل السطر. يمكن استخدام القيمتين التاليتين:

  • VerticalDirection.down: الاتجاه من الأعلى إلى الأسفل.
  • VerticalDirection.up: الاتجاه من الأسفل إلى الأعلى.

سترى الخصائص المختلفة في الأمثلة التالية:

// VerticalDirection.down example
Row(
  verticalDirection: VerticalDirection.down,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

// VerticalDirection.up example
Row(
  verticalDirection: VerticalDirection.up,
  children: <Widget>[
    Text('First'),
    Text('Second'),
    Text('Third'),
  ],
)

الخاصية crossAxisAlignment و textBaseline معًا

يمكن استخدام خاصية crossAxisAlignment و textBaseline معًا لتحديد نقطة الأساس للنص داخل السطر. يتم تحديد نقطة الأساس باستخدام القيم التالية:

  • TextBaseline.alphabetic: يتم تحديد نقطة الأساس على خط النص الأساسي.
  • TextBaseline.ideographic: يتم تحديد نقطة الأساس على خط النص العمودي.

سترى الخصائص المختلفة في الأمثلة التالية:

// crossAxisAlignment and textBaseline example
Row(
  crossAxisAlignment: CrossAxisAlignment.baseline,
  textBaseline: TextBaseline.alphabetic,
  children: <Widget>[
    Text('First', style: TextStyle(fontSize: 20)),
    Text('Second', style: TextStyle(fontSize: 30)),
    Text('Third', style: TextStyle(fontSize: 40)),
  ],
)

مثال على استخدام Row في Flutter:

بإمكانك استخدام عنصر Row في Flutter لتنظيم العناصر بشكلٍ أفقي. وفيما يلي مثال بسيط يوضح كيفية استخدام Row في Flutter:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Row Example',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Row Example'),
        ),
        body: Center(
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Container(
                width: 50.0,
                height: 50.0,
                color: Colors.red,
              ),
              Container(
                width: 50.0,
                height: 50.0,
                color: Colors.green,
              ),
              Container(
                width: 50.0,
                height: 50.0,
                color: Colors.blue,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

في هذا المثال، يتم إنشاء عنصر Row يحتوي على ثلاثة عناصر من نوع Container، ويتم توزيعها بشكلٍ متساوٍ بين الفراغات باستخدام الخاصية mainAxisAlignment التي تأخذ قيمة MainAxisAlignment.spaceBetween. ويتم تحديد عرض وارتفاع العناصر باستخدام الخاصية width و height في Container، وتم تعيين لون مختلف لكل عنصر بشكلٍ مختلف.

يتم إنشاء التطبيق باستخدام MaterialApp و Scaffold، ويتم تعيين AppBar وعنصر body يحتوي على Row. يمكنك تجربة هذا المثال بنفسك عن طريق إضافته إلى مشروع Flutter الخاص بك وتشغيل التطبيق.

“اقرأ أيضاً: شرح استخدام ويدجت RadioListTile في فلاتر“


يمكن استخدام ويدجت Row في Flutter لترتيب العناصر على نفس السطر، سواء كانت العناصر نصية أو أخرى. توفر هذه الويدجت العديد من الخصائص التي يمكن استخدامها لتخصيص ترتيب العناصر بشكل مفصل وفقًا لاحتياجات التطبيق. يمكن استخدام الخصائص المختلفة، مثل mainAxisAlignment، و crossAxisAlignment، و mainAxisSize، و textDirection، و verticalDirection، و textBaseline، لتحقيق الترتيب المطلوب. يمكن استخدام الأكواد المذكورة في هذا المقال للبدء في استخدام ويدجت Row في تطبيقات Flutter الخاصة بك.

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح استخدام ThemeData في فلاتر
Widgets

شرح استخدام ThemeData في فلاتر

37 2
شرح استخدام ويدجت OutlinedButton في فلاتر
Widgets

شرح استخدام ويدجت OutlinedButton في فلاتر

28 1
شرح استخدام ويدجت SingleChildScrollView في فلاتر
Widgets

شرح استخدام SingleChildScrollView في فلاتر

26 1
شرح استخدام ويدجت WillPopScope في فلاتر
Widgets

شرح استخدام ويدجت WillPopScope في فلاتر

19 1
شرح استخدام ويدجت RichText في فلاتر 
Widgets

شرح استخدام ويدجت RichText في فلاتر 

20
شرح استخدام ويدجت TextButton في فلاتر
Widgets

شرح استخدام ويدجت TextButton في فلاتر

20
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟