فلاتر

مهم‌ترین ویجت‌های فلاتر؛ آشنایی با Widgetهای پرکاربرد فلاتر

ویجت در فلاتر

فلاتر (Flutter) یکی از محبوب‌ترین فریمورک‌های توسعه اپلیکیشن است که توسط گوگل توسعه داده شده و امکان ساخت برنامه‌های اندروید، iOS، وب و دسکتاپ را تنها با یک کدبیس فراهم می‌کند. سرعت بالا، رابط کاربری زیبا و عملکرد نزدیک به Native از مهم‌ترین دلایل محبوبیت Flutter هستند.

یکی از مهم‌ترین ویژگی‌های فلاتر، معماری کاملاً مبتنی بر ویجت (Widget) است. در فلاتر تقریباً همه‌چیز یک ویجت محسوب می‌شود؛ از متن و تصاویر گرفته تا دکمه‌ها، فاصله‌ها، چیدمان‌ها و حتی ساختار کلی صفحات.

اگر به‌تازگی وارد دنیای فلاتر شده‌اید، یادگیری ویجت‌های اصلی فلاتر مهم‌ترین قدم برای طراحی رابط کاربری حرفه‌ای است. در این مقاله با مهم‌ترین ویجت‌های فلاتر آشنا می‌شویم و برای هرکدام مثال‌های کاربردی ارائه می‌کنیم.

اگر هنوز فلاتر را نصب نکرده‌اید، می‌توانید راهنمای نصب فلاتر را مطالعه کنید.

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

اگر هنوز فلاتر را نصب نکرده‌اید، راهنمای نصب رسمی ما را در این صفحه ببینید:
https://amooznegar.com/installing-flutter/

اگر می‌خواهید از صفر تا صد فلاتر را با یک دوره آموزشی دنبال کنید، دورهٔ فلاتر آکادمی آموزنگار را ببینید:
https://amooznegar.com/course/flutter/

ویجت در Flutter چیست؟

در فلاتر، ویجت‌ها (Widgets) به‌عنوان بلوک‌های سازنده رابط کاربری شناخته می‌شوند. هر چیزی که روی صفحه مشاهده می‌کنید، یک ویجت است؛ از متن‌ها و تصاویر گرفته تا دکمه‌ها، فاصله‌ها، چیدمان‌ها و حتی صفحات کامل برنامه.

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

برای مثال:

  • متن‌ها
  • تصاویر
  • دکمه‌ها
  • فاصله‌ها
  • Layoutها
  • انیمیشن‌ها

همگی Widget محسوب می‌شوند.

ویجت‌ها در فلاتر به دو دسته اصلی تقسیم می‌شوند:

StatelessWidget

ویجت‌های StatelessWidget دارای وضعیت (State) داخلی نیستند و پس از ایجاد، محتوای آن‌ها تغییر نمی‌کند. این ویجت‌ها برای نمایش داده‌های ثابت و رابط‌های کاربری که نیازی به به‌روزرسانی ندارند، مورد استفاده قرار می‌گیرند.

StatefulWidget

ویجت‌های StatefulWidget دارای State داخلی هستند و امکان تغییر داده‌ها و به‌روزرسانی رابط کاربری را فراهم می‌کنند. هر زمان که وضعیت ویجت تغییر کند، فلاتر به‌صورت خودکار رابط کاربری را مجدداً رسم می‌کند تا تغییرات جدید به کاربر نمایش داده شود.

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

1️⃣ Scaffold — ساختار اصلی صفحات

یکی از مهم‌ترین و پرکاربردترین ویجت‌های فلاتر، ویجت Scaffold است. این ویجت ساختار پایه صفحات مبتنی بر Material Design را فراهم می‌کند و امکاناتی مانند نوار عنوان، منوی کناری، محتوای اصلی صفحه، دکمه شناور و نوار ناوبری را در اختیار توسعه‌دهندگان قرار می‌دهد.

در بسیاری از صفحات فلاتر، Scaffold به‌عنوان چارچوب اصلی رابط کاربری استفاده می‌شود و نقطه شروع طراحی صفحه محسوب می‌گردد.

است.

این ویجت ساختار پایه صفحات Material Design را فراهم می‌کند.

با Scaffold می‌توانید:

  • AppBar
  • Drawer
  • BottomNavigation
  • FloatingActionButton
  • Body

را مدیریت کنید.

scaffold فلاتر

مثال Scaffold

Scaffold(
  appBar: AppBar(
    title: Text('صفحه نمونه'),
  ),

  body: Center(
    child: Text('سلام فلاتر'),
  ),

  floatingActionButton:
      FloatingActionButton(
    onPressed: () {},
    child: Icon(Icons.add),
  ),
)

2️⃣ AppBar — نوار بالای برنامه

ویجت AppBar برای ایجاد نوار بالایی (Top App Bar) در صفحات فلاتر استفاده می‌شود. این ویجت معمولاً در بالای صفحه قرار می‌گیرد و اطلاعات و ابزارهای مهمی مانند عنوان صفحه، دکمه بازگشت، منوها و آیکن‌های عملیاتی را در اختیار کاربر قرار می‌دهد.

AppBar یکی از اجزای اصلی طراحی متریال (Material Design) در فلاتر محسوب می‌شود و معمولاً در داخل ویجت Scaffold مورد استفاده قرار می‌گیرد.

AppBar معمولاً شامل:

  • عنوان صفحه
  • آیکن بازگشت
  • منوها
  • اکشن‌ها

است.

مثال AppBar

AppBar(
  title: Text('صفحه اصلی'),

  actions: [
    IconButton(
      onPressed: () {},
      icon: Icon(Icons.search),
    )
  ],
)

قابلیت‌های مهم AppBar

ویجت AppBar امکانات متعددی را برای طراحی نوار بالایی اپلیکیشن در اختیار توسعه‌دهندگان قرار می‌دهد. برخی از مهم‌ترین قابلیت‌های این ویجت عبارت‌اند از:

  • افزودن منو (Menu): امکان نمایش منوی ناوبری و دسترسی سریع به بخش‌های مختلف برنامه.
  • جستجو (Search): افزودن آیکون و قابلیت جستجو در صفحات مختلف برنامه.
  • TabBar: ایجاد تب‌های مختلف برای جابه‌جایی بین بخش‌های یک صفحه.
  • تغییر رنگ و ظاهر: امکان شخصی‌سازی رنگ پس‌زمینه، رنگ آیکون‌ها و سبک نمایش نوار ابزار.
  • Action Button: افزودن دکمه‌های عملیاتی مانند جستجو، اشتراک‌گذاری، تنظیمات و اعلان‌ها در سمت راست نوار.

این قابلیت‌ها باعث می‌شوند AppBar به یکی از مهم‌ترین اجزای رابط کاربری در برنامه‌های فلاتر تبدیل شود و تجربه کاربری بهتری را برای کاربران فراهم کند.

appbar در فلاتر

 

3️⃣ Text — نمایش متن

ویجت Text برای نمایش متن در رابط کاربری فلاتر استفاده می‌شود. این ویجت یکی از ساده‌ترین و در عین حال پرکاربردترین ویجت‌های فلاتر است و برای نمایش انواع متن‌ها، عناوین، توضیحات، پیام‌ها و اطلاعات مختلف در صفحات برنامه به کار می‌رود.

با استفاده از ویجت Text می‌توان ویژگی‌هایی مانند اندازه فونت، رنگ، ضخامت، تراز متن و سبک نمایش را به‌سادگی تغییر داد و ظاهر متن را مطابق با طراحی رابط کاربری شخصی‌سازی کرد.

مثال Text

Text(
  'سلام Flutter',

  style: TextStyle(
    fontSize: 24,
    fontWeight: FontWeight.bold,
    color: Colors.blue,
  ),
)

ویژگی‌های مهم ویجت Text

ویجت Text امکانات متعددی را برای نمایش و شخصی‌سازی متن در فلاتر در اختیار توسعه‌دهندگان قرار می‌دهد. برخی از مهم‌ترین ویژگی‌های این ویجت عبارت‌اند از:

  • تغییر فونت: امکان استفاده از فونت‌های سفارشی و فونت‌های موجود در سیستم.
  • رنگ متن: تعیین رنگ متن با استفاده از رنگ‌های آماده یا رنگ‌های سفارشی.
  • اندازه فونت: تنظیم اندازه متن برای عناوین، توضیحات و محتوای مختلف.
  • Bold و Italic: اعمال حالت‌های ضخیم (Bold) و مورب (Italic) برای تأکید روی متن.
  • Alignment: تعیین نحوه قرارگیری و تراز متن مانند چپ، راست، وسط یا دوطرفه.

این قابلیت‌ها به شما کمک می‌کنند تا ظاهر متن‌ها را مطابق با طراحی رابط کاربری برنامه شخصی‌سازی کرده و تجربه کاربری بهتری ایجاد کنید.

ویجت Text

 

4️⃣ Container — ویجت چندمنظوره در Flutter

ویجت Container یکی از پرکاربردترین و انعطاف‌پذیرترین ویجت‌های فلاتر محسوب می‌شود. این ویجت برای ایجاد، طراحی و مدیریت ظاهر و چیدمان سایر ویجت‌ها مورد استفاده قرار می‌گیرد.

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

از مهم‌ترین کاربردهای Container می‌توان به موارد زیر اشاره کرد:

  • تعیین عرض و ارتفاع ویجت‌ها
  • اعمال رنگ پس‌زمینه
  • ایجاد Padding و Margin
  • افزودن Border و Border Radius
  • ایجاد سایه (Shadow)
  • کنترل چیدمان و ظاهر عناصر رابط کاربری

به دلیل انعطاف‌پذیری بالا، Container تقریباً در اکثر پروژه‌های فلاتر برای طراحی و سفارشی‌سازی رابط کاربری مورد استفاده قرار می‌گیرد.

ویجت Container برای طراحی و شخصی‌سازی ظاهر ویجت‌ها استفاده می‌شود و امکانات متعددی را در اختیار توسعه‌دهندگان قرار می‌دهد. مهم‌ترین کاربردهای این ویجت عبارت‌اند از:

  • رنگ پس‌زمینه (Background Color): تعیین رنگ پس‌زمینه ویجت.
  • Padding: ایجاد فاصله داخلی بین محتوا و لبه‌های Container.
  • Margin: ایجاد فاصله خارجی بین Container و سایر ویجت‌ها.
  • Border: افزودن حاشیه در اطراف ویجت.
  • Border Radius: گرد کردن گوشه‌های ویجت و ایجاد ظاهری مدرن‌تر.
  • Width و Height: تعیین عرض و ارتفاع ویجت.

به دلیل انعطاف‌پذیری بالا، Container یکی از پرکاربردترین ویجت‌های فلاتر محسوب می‌شود و در طراحی اکثر رابط‌های کاربری مورد استفاده قرار می‌گیرد.

مثال Container

Container(
  padding: EdgeInsets.all(16),

  margin: EdgeInsets.symmetric(
    vertical: 8,
  ),

  decoration: BoxDecoration(
    color: Colors.white,

    borderRadius:
        BorderRadius.circular(8),

    boxShadow: [
      BoxShadow(
        blurRadius: 6,
        color: Colors.black12,
      )
    ],
  ),

  child: Text('مثال Container'),
)

چرا Container اهمیت زیادی دارد؟

ویجت Container یکی از مهم‌ترین و پرکاربردترین ویجت‌های فلاتر محسوب می‌شود، زیرا بسیاری از عناصر رابط کاربری برای تعیین اندازه، فاصله‌ها، رنگ‌ها و استایل‌های مختلف به آن وابسته هستند.

تقریباً در تمامی رابط‌های کاربری فلاتر از Container استفاده می‌شود؛ از طراحی کارت‌ها و دکمه‌ها گرفته تا بخش‌های مختلف صفحات و چیدمان عناصر. این ویجت به توسعه‌دهندگان اجازه می‌دهد ظاهر و نحوه نمایش سایر ویجت‌ها را به‌سادگی کنترل و شخصی‌سازی کنند.

به همین دلیل، یادگیری Container یکی از اولین و مهم‌ترین گام‌ها در طراحی رابط کاربری با فلاتر محسوب می‌شود و تسلط بر آن می‌تواند فرآیند ساخت UI را بسیار ساده‌تر و حرفه‌ای‌تر کند.

ویجت Container

5️⃣ Column — چیدمان عمودی

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

با استفاده از Column می‌توان متن‌ها، دکمه‌ها، تصاویر و سایر ویجت‌ها را به‌صورت مرتب و عمودی در کنار یکدیگر نمایش داد. این ویجت به‌ویژه در طراحی فرم‌ها، صفحات ورود، پروفایل کاربران و بسیاری از صفحات اپلیکیشن‌ها کاربرد فراوانی دارد.

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

مثال Column

Column(
  children: [

    Text('آیتم اول'),

    Text('آیتم دوم'),

    ElevatedButton(
      onPressed: () {},
      child: Text('دکمه'),
    ),
  ],
)

ویژگی‌های مهم Column

  • ویجت Column امکانات متعددی برای کنترل نحوه قرارگیری و چیدمان ویجت‌ها در اختیار توسعه‌دهندگان قرار می‌دهد. مهم‌ترین ویژگی‌های این ویجت عبارت‌اند از:

    • Alignment: تعیین نحوه تراز و قرارگیری ویجت‌ها در داخل ستون.
    • Spacing: ایجاد فاصله مناسب بین ویجت‌ها برای افزایش خوانایی و زیبایی رابط کاربری.
    • mainAxisAlignment: کنترل نحوه توزیع ویجت‌ها در محور اصلی Column که همان محور عمودی است.
    • crossAxisAlignment: تعیین نحوه تراز ویجت‌ها در محور افقی و کنترل محل قرارگیری آن‌ها در عرض ستون.

6️⃣ Row — چیدمان افقی

ویجت Row برای نمایش و چیدمان چندین ویجت به‌صورت افقی استفاده می‌شود. این ویجت فرزندان خود را در یک ردیف و از چپ به راست (یا راست به چپ، بسته به جهت متن) قرار می‌دهد.

با استفاده از Row می‌توان ویجت‌هایی مانند آیکون‌ها، متن‌ها، دکمه‌ها و تصاویر را در کنار یکدیگر نمایش داد. این ویجت در طراحی نوارهای ابزار، منوها، کارت‌ها و بسیاری از بخش‌های رابط کاربری کاربرد فراوانی دارد.

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

مثال Row

Row(
  children: [

    Icon(Icons.home),

    Text('خانه'),

    Icon(Icons.settings),
  ],
)
ویجت Column

تفاوت Row و Column

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

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

جدول زیر تفاوت این دو ویجت را نشان می‌دهد:

ویجت جهت چیدمان محور اصلی
Row افقی Horizontal
Column عمودی Vertical

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

این دو ویجت از پرکاربردترین ویجت‌های چیدمان در فلاتر هستند و معمولاً در کنار ویجت‌هایی مانند Expanded، Flexible و Container برای طراحی رابط‌های کاربری حرفه‌ای مورد استفاده قرار می‌گیرند.

ویجت Row

7️⃣ Image — ویجت نمایش تصاویر

ویجت Image برای نمایش تصاویر در برنامه‌های فلاتر استفاده می‌شود. این ویجت امکان نمایش تصاویر از منابع مختلف مانند فایل‌های محلی، پوشه Assets و آدرس‌های اینترنتی را فراهم می‌کند.

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

فلاتر روش‌های مختلفی را برای بارگذاری و نمایش تصاویر در اختیار توسعه‌دهندگان قرار می‌دهد که مهم‌ترین آن‌ها عبارت‌اند از:

  • نمایش تصاویر از پوشه Assets پروژه
  • نمایش تصاویر از اینترنت
  • نمایش تصاویر از حافظه دستگاه
  • نمایش تصاویر از فایل‌های محلی

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

نمایش تصویر از اینترنت

Image.network(
  'https://example.com/image.jpg',
)

نمایش تصویر از Assets

Image.asset(
  'assets/images/logo.png',
)

نکته مهم

حتماً تصاویر را داخل pubspec.yaml معرفی کنید.

ویجت Image

ویجتی که تصویر را نمایش می دهد.

8️⃣ ElevatedButton — دکمه مدرن متریال

ویجت ElevatedButton یکی از پرکاربردترین ویجت‌های فلاتر برای ایجاد دکمه‌های تعاملی است. این ویجت نسخه مدرن دکمه‌های Material Design محسوب می‌شود و ظاهری برجسته (Elevated) دارد که باعث می‌شود دکمه در رابط کاربری بیشتر جلب توجه کند.

در نسخه‌های قدیمی Flutter از ویجت RaisedButton برای ایجاد دکمه‌های برجسته استفاده می‌شد، اما این ویجت منسوخ شده و امروزه ElevatedButton جایگزین آن شده است.

ویجت ElevatedButton معمولاً برای عملیات مهمی مانند ثبت فرم‌ها، ورود کاربران، ارسال اطلاعات، تأیید عملیات و سایر اقدامات اصلی در برنامه مورد استفاده قرار می‌گیرد.

از مهم‌ترین قابلیت‌های ElevatedButton می‌توان به موارد زیر اشاره کرد:

  • تعریف رویداد کلیک با onPressed
  • شخصی‌سازی ظاهر دکمه
  • تغییر رنگ، اندازه و فاصله‌ها
  • افزودن آیکون و متن
  • غیرفعال کردن دکمه
  • اعمال استایل‌های Material Design

به دلیل ظاهر مدرن و امکانات گسترده، ElevatedButton یکی از مهم‌ترین ویجت‌های تعاملی در فلاتر محسوب می‌شود و در بسیاری از رابط‌های کاربری مورد استفاده قرار می‌گیرد.

مثال ElevatedButton

ElevatedButton(

  onPressed: () {

    print('Clicked');

  },

  child: Text('ثبت'),
)

شخصی‌سازی دکمه

ElevatedButton(

  style: ElevatedButton.styleFrom(
    padding: EdgeInsets.all(16),
  ),

  onPressed: () {},

  child: Text('ورود'),
)
ویجت ElevatedButton

ویجت ElevatedButton یکی از دکمه‌های مبتنی بر Material Design در فلاتر است که برای انجام عملیات‌های مهم و جلب توجه کاربران مورد استفاده قرار می‌گیرد. این ویجت جایگزین RaisedButton شده است که در نسخه‌های جدید فلاتر منسوخ شده و دیگر توصیه نمی‌شود.

ElevatedButton با ایجاد سایه و عمق، باعث می‌شود دکمه از سایر عناصر رابط کاربری متمایز شود و توجه کاربر را به اقدامات مهم جلب کند.

از این ویجت معمولاً در بخش‌هایی مانند فرم‌های ثبت‌نام، ورود کاربران، ارسال اطلاعات و عملیات‌های اصلی برنامه استفاده می‌شود. همچنین در صفحاتی با محتوای زیاد یا رابط‌های کاربری ساده، ElevatedButton می‌تواند به ایجاد سلسله‌مراتب بصری و افزایش خوانایی رابط کاربری کمک کند.

با این حال، توصیه می‌شود از ElevatedButton روی عناصری که خود دارای ارتفاع و سایه هستند، مانند Dialogها یا Cardها، استفاده نشود؛ زیرا این کار ممکن است باعث ایجاد شلوغی بصری و کاهش کیفیت طراحی رابط کاربری شود.

نکات تکمیلی و بهترین روش‌ها (Best practices)

رعایت برخی اصول و بهترین روش‌ها در توسعه اپلیکیشن‌های Flutter می‌تواند باعث افزایش کیفیت کد، بهبود عملکرد برنامه و ساده‌تر شدن نگهداری پروژه شود. مهم‌ترین این نکات عبارت‌اند از:

  • از ویجت‌های کوچک و قابل استفاده مجدد استفاده کنید: تقسیم رابط کاربری به ویجت‌های مستقل و کوچک باعث خوانایی بیشتر کد و نگهداری آسان‌تر پروژه می‌شود.
  • تا حد امکان از const استفاده کنید: استفاده از ویجت‌های const به Flutter کمک می‌کند تا از بازسازی‌های غیرضروری جلوگیری کرده و عملکرد برنامه را بهبود دهد.
  • برای لیست‌های بزرگ از ListView.builder استفاده کنید: این ویجت تنها آیتم‌های قابل مشاهده را ایجاد می‌کند و باعث کاهش مصرف حافظه و افزایش کارایی برنامه می‌شود.
  • رابط کاربری را به بخش‌های کوچک تقسیم کنید: جدا کردن صفحات و کامپوننت‌ها به ویجت‌های مستقل، تست‌پذیری و توسعه پروژه را ساده‌تر می‌کند.
  • از مدیریت وضعیت (State Management) مناسب استفاده کنید: انتخاب ابزار مناسب مانند Provider، Riverpod، Bloc یا GetX بسته به اندازه و پیچیدگی پروژه، نقش مهمی در ساخت برنامه‌های مقیاس‌پذیر و قابل نگهداری دارد.

ویجت‌های مهم دیگری که باید یاد بگیرید

پس از یادگیری ویجت‌های پایه Flutter، بهتر است با ویجت‌های پیشرفته‌تر نیز آشنا شوید. این ویجت‌ها در بسیاری از پروژه‌های واقعی مورد استفاده قرار می‌گیرند و یادگیری آن‌ها به شما کمک می‌کند رابط‌های کاربری حرفه‌ای‌تر و برنامه‌های پیچیده‌تری ایجاد کنید.

  • Stack: برای قرار دادن چند ویجت روی یکدیگر و ایجاد لایه‌های مختلف در رابط کاربری.
  • Expanded: برای تقسیم فضای موجود بین ویجت‌ها در Row و Column.
  • ListView: برای نمایش لیست‌های اسکرول‌پذیر و داده‌های طولانی.
  • GridView: برای نمایش آیتم‌ها به‌صورت شبکه‌ای و چند ستونه.
  • GestureDetector: برای مدیریت رویدادهای لمسی مانند کلیک، لمس و کشیدن.
  • FutureBuilder: برای نمایش داده‌های غیرهمزمان (Asynchronous) مانند نتایج API.
  • StreamBuilder: برای نمایش داده‌هایی که به‌صورت لحظه‌ای و پیوسته تغییر می‌کنند.
  • Navigator: برای مدیریت صفحات و جابه‌جایی بین بخش‌های مختلف برنامه.

یادگیری این ویجت‌ها در کنار ویجت‌های پایه، مسیر شما را برای تبدیل شدن به یک توسعه‌دهنده حرفه‌ای Flutter هموار خواهد کرد.

جمع‌بندی

در فلاتر همه‌چیز بر پایه ویجت‌ها ساخته می‌شود و یادگیری آن‌ها اولین قدم برای طراحی رابط کاربری حرفه‌ای است. ویجت‌هایی مانند Scaffold، AppBar، Text، Container، Row، Column، Image و ElevatedButton از مهم‌ترین ویجت‌هایی هستند که هر توسعه‌دهنده فلاتر باید با آن‌ها آشنا باشد.

علاوه بر این، آشنایی با ویجت‌های پیشرفته‌تری مانند ListView، GridView، Stack، FutureBuilder و Navigator به شما کمک می‌کند تا برنامه‌های پیچیده‌تر و حرفه‌ای‌تری توسعه دهید.

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

سوالات متداول (FAQ)

ویجت (Widget) در فلاتر چیست؟

ویجت‌ها بلوک‌های سازنده رابط کاربری در فلاتر هستند. هر چیزی که روی صفحه مشاهده می‌کنید، از متن و تصاویر گرفته تا دکمه‌ها و چیدمان‌ها، یک ویجت محسوب می‌شود.

مهم‌ترین ویجت‌های فلاتر کدام‌اند؟

از مهم‌ترین ویجت‌های فلاتر می‌توان به Scaffold، AppBar، Text، Container، Row، Column، Image و ElevatedButton اشاره کرد که در اکثر پروژه‌های فلاتر مورد استفاده قرار می‌گیرند.

تفاوت StatelessWidget و StatefulWidget چیست؟

StatelessWidget دارای وضعیت (State) ثابت است و پس از ایجاد تغییر نمی‌کند، اما StatefulWidget می‌تواند با تغییر داده‌ها، رابط کاربری را به‌روزرسانی کند.

ویجت Scaffold چه کاربردی دارد؟

Scaffold ساختار اصلی صفحات فلاتر را فراهم می‌کند و امکاناتی مانند AppBar، Drawer، FloatingActionButton و Bottom Navigation را در اختیار توسعه‌دهندگان قرار می‌دهد.

تفاوت Row و Column در Flutter چیست؟

ویجت Row عناصر را به‌صورت افقی نمایش می‌دهد، در حالی که Column ویجت‌ها را به‌صورت عمودی در کنار یکدیگر قرار می‌دهد.

چرا Container یکی از مهم‌ترین ویجت‌های Flutter است؟

Container برای تنظیم رنگ، اندازه، فاصله‌ها، حاشیه‌ها و استایل ویجت‌ها استفاده می‌شود و تقریباً در تمامی رابط‌های کاربری فلاتر کاربرد دارد.

چه زمانی باید از ElevatedButton استفاده کنیم؟

ElevatedButton برای انجام عملیات مهم و جلب توجه کاربران استفاده می‌شود و معمولاً در دکمه‌های ثبت، ورود، ارسال فرم و سایر اقدامات اصلی برنامه کاربرد دارد.

بعد از یادگیری ویجت‌های پایه Flutter چه ویجت‌هایی را باید یاد بگیریم؟

پس از یادگیری ویجت‌های پایه، بهتر است با ویجت‌هایی مانند ListView، GridView، Stack، Expanded، FutureBuilder، StreamBuilder، GestureDetector و Navigator آشنا شوید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *