Widget چیست؟

تعداد بازدید ها : 1,321 بازدید
 Widget چیست؟

در محیط فلاتر نام Widget را زیاد می شنوید . اما یک ویجت چیست ؟ ویجت ها در واقع همان کلاس ها هستند که با کمک آنها ما نسبت به طراحی و ایجاد UI برنامه اقدام می کنیم . هر ویجت به همراه خود امکاناتی را به کد برنامه ما اضافه می کند که ما با استفاده از این امکانات به راحتی می توانیم نسبت به طراحی و ایجاد UI مورد نظر خود اقدام نماییم .

به عنوان مثال ویجت Text به ما امکان نمایش یک متن را می دهد ، همچنین نوع فونت ، سایر فونت ، رنگ قلم و سایر تنظیمات مرتبط با متن و قلم را نیز به همراه خود ارائه می دهد . به قطعه کد زیر توجه نمایید :

class MyTextWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text(
      'Hello World !',
      style: TextStyle(
        color: Colors.blueAccent, // تعیین رنگ متن
        fontFamily: 'Vazir', // تعیین نوع قلم
        fontSize: 14, // تعیین سایز قلم
        fontWeight: FontWeight.w700, // تعیین ضخامت قلم
      ),
    );
  }
}

در مثال فوق ، ما یک ویجت شخصی از نوع StatelessWidget با نام MyTextWidget ایجاد کرده ایم که در آن یک ویجت Text بازگشت داده می شود . در این مثال Text یک ویجت است در حالی که در خصوصیت style خود از امکانات یک کلاس به نام TextStyle استفاده می نماید . تنها تفاوت بین ویجت Text و کلاس TextStyle در این است که ویجت ها قابلیت نمایش مستقیم در خروجی را دارند در حالی که کلاس ها توسط خصوصیات یک ویجت مورد استفاده قرار می گیرند و به صورت مستقیم قابلیت ارسال به خروجی را ندارند .

ما از ترکیب چندین ویجت با یکدیگر قابلیت ساخت ویجت های شخصی خودمان را نیز داریم .

ویجت ها دارای دو نوع StatelessWidget و StatefulWidget هست . در صورتی که یک ویجت در طول برنامه نیاز به تغییر نداشته باشد و محتوای آن از لحظه نمایش تا انتها ثابت باشد ، از نوع StatelessWidget ایجاد می گردد در حالی که از محتوای آن نیاز به تغییر دارد باید از نوع StatefulWidget تعریف گردد . در این رابطه مطالعه این مقاله را توصیه می کنم :

می خوانم   ویجت ها از نظر State

جهت کسب اطلاعات بیشتر از این آدرس به سایت اصلی فلاتر مراجعه نمایید .

امیدوارم این مطلب برای شما مفید باشد .

2+
محمدمجتبی جوارشکیان

محمدمجتبی جوارشکیان

من محمدمجتبی جوارشکیان ، کارشناس IT و فعال اجتماعی هستم و در حوزه معماری ، طراحی ، تحلیل گری ، مدلسازی و توسعه ی محیط های نرم افزاری فعالیت دارم . بسیار خوشحال می شوم من را از انتقادات ، پیشنهادات و نظرات خود مطلع فرمایید . آدرس ایمیل : info@javareshkian.ir

ارسال یک پاسخ

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

2 + 13 =