آشنایی کامل با مفاهیم Layout در فلاتر (Column، Row، Stack و ...)

فلاتر یکی از محبوب‌ترین فریم‌ورک‌های توسعه اپلیکیشن‌های موبایل است که به شما امکان می‌دهد رابط‌های کاربری زیبا و واکنش‌گرا ایجاد کنید. یکی از مهم‌ترین بخش‌های طراحی در فلاتر، مدیریت Layout یا نحوه چیدمان عناصر روی صفحه است. در این مقاله به بررسی مفاهیم اصلی Layout در فلاتر مانند Column، Row، Stack و سایر ابزارهای مرتبط خواهیم پرداخت.

چرا Layout در فلاتر مهم است؟

Layout تعیین می‌کند که عناصر چگونه روی صفحه قرار گیرند، چه فضایی اشغال کنند و چگونه نسبت به یکدیگر رفتار کنند. انتخاب مناسب ابزارهای Layout می‌تواند عملکرد اپلیکیشن شما را بهبود بخشد و تجربه کاربری بهتری ایجاد کند.

1. Column: مرتب‌سازی عمودی عناصر

ویجت Column برای چیدمان عناصر به صورت عمودی استفاده می‌شود. این ویجت بسیار مناسب برای مواردی است که نیاز دارید چندین عنصر زیر هم قرار گیرند.

Column(
  children: [
    Text('عنصر اول'),
    Text('عنصر دوم'),
    Text('عنصر سوم'),
  ],
)

ویژگی‌های کلیدی:

  • mainAxisAlignment: تنظیم نحوه چیدمان عناصر در محور اصلی (عمودی).
  • crossAxisAlignment: تنظیم نحوه چیدمان عناصر در محور متقاطع (افقی).
  • children: لیستی از ویجت‌هایی که باید داخل ستون قرار گیرند.

2. Row: مرتب‌سازی افقی عناصر

ویجت Row برای چیدمان عناصر به صورت افقی استفاده می‌شود. این ویجت مشابه Column عمل می‌کند اما جهت چیدمان آن متفاوت است.

Row(
  children: [
    Icon(Icons.star),
    Icon(Icons.favorite),
    Icon(Icons.share),
  ],
)

ویژگی‌های کلیدی:

  • mainAxisAlignment: تنظیم نحوه چیدمان عناصر در محور اصلی (افقی).
  • crossAxisAlignment: تنظیم نحوه چیدمان عناصر در محور متقاطع (عمودی).
  • children: لیستی از ویجت‌هایی که باید داخل ردیف قرار گیرند.

3. Stack: قرار دادن عناصر روی یکدیگر

ویجت Stack امکان قرار دادن ویجت‌ها روی هم را فراهم می‌کند. این ابزار برای طراحی رابط‌های پیچیده بسیار کاربردی است.

Stack(
  children: [
    Container(color: Colors.blue, width: 100, height: 100),
    Positioned(
      top: 10,
      left: 10,
      child: Icon(Icons.star, color: Colors.white),
    ),
  ],
)

ویژگی‌های کلیدی:

  • alignment: تنظیم موقعیت کلیه ویجت‌ها داخل Stack.
  • Positioned: کنترل موقعیت دقیق هر عنصر داخل Stack.

سایر ابزارهای Layout در فلاتر:

fFlutter علاوه بر Column، Row و Stack ابزارهای دیگری نیز ارائه می‌دهد:

Expanded:

برای پر کردن فضای موجود توسط یک ویجت استفاده می‌شود.

Expanded(child: Text('پر کردن فضای موجود'));

Flex:

برای کنترل انعطاف‌پذیری بین چندین عنصر استفاده می‌شود.

GridView:

برای نمایش داده‌ها در قالب شبکه‌ای استفاده می‌شود.

ListView:

برای نمایش داده‌ها به صورت لیست پیمایش‌پذیر استفاده می‌شود.

جمع‌بندی:

ابزارهای Layout در فلاتر امکان طراحی رابط کاربری زیبا و واکنش‌گرا را فراهم می‌کنند. با شناخت کامل ویژگی‌ها و قابلیت‌های هر ابزار، می‌توانید اپلیکیشن‌های حرفه‌ای‌تر و کارآمدتری ایجاد کنید.