MaterialApp

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

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: yourHomeWidget);
  }
}

همه‌ی ویجت‌هایی که در فلاتر استفاده می‌شوند از جمله Scaffold, AppBar, Text, Padding,StatelessWidget, StatefullWidget و … زیر مجموعه ویجت MaterialApp می‌باشند. با اضافه کردن ویجت MaterialApp هیچ کامپوننتی به صفحه‌ی شما اضافه نخواهد شد که قابل دیدن باشد ولی در واقع این ویجت شالوده اپلیکیشن شما می‌باشد.

اگر این ویجت را از اپلیکیشن خود حذف کنید با تصویر زیر روبه رو خواهید شد:

 

MaterialApp Widget missing

 

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

در ادامه به چند قابلیت دیگری که این ویجت به اپلیکیشن اضافه می‌کند می‌پردازیم.

 

 نمایش برچسب دیباگ

material-app-debug-banner

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

MaterialApp(
      debugShowCheckedModeBanner: false,
);

 

ویژگی home

اولین صفحه اپلیکیشن خود را بسازید

با استفاده از ویژگی home می توانید اولین صفحه اپلیکیشن خود را تعریف کنید:

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: FirstScreen(),
    );
  }
}

class FirstScreen extends StatefulWidget {
  const FirstScreen({Key? key}) : super(key: key);

  @override
  _FirstScreenState createState() => _FirstScreenState();
}

class _FirstScreenState extends State<FirstScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text('First Screen')),
    );
  }
}

 ویژگی theme

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

 

1) فونت اپلیکیشن خود را تغییر دهید

برای مثال برای تنظیم فونت کل اپلیکیشن می‌توانید از طریق کد زیر عمل کنید:

MaterialApp(
      theme: ThemeData(
        fontFamily: 'your_font_name',
      ),
 );

 

2) رنگ کلی اپلیکیشن خود را تغییر دهید

MaterialApp(
      theme: ThemeData(
       primarySwatch: Colors.green,
      ),
);

با استفاده از کد زیر می‌توانید رنگ کلی اپلیکیشن خود را تغییر دهید:

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

 

material-app-theme-data-primary-swatch

 

3) دارک مد

امروزه کاربران معمولا علاقه دارند تا با تم دارک کار کنند. به همین دلیل اکثر اپلیکیشن‌ها یا به صورت کامل در حالت دارک طراحی می‌شوند و یا در کنار تم لایت(روشن) یک تم دارک هم ارائه می‌دهد برای تعریف کردن حالت دارک مد می‌توانید به شکل زیر عمل کنید:

MaterialApp(
      theme: ThemeData(
        brightness: Brightness.light,
      ),
      darkTheme: ThemeData(
        brightness: Brightness.dark,
      ),
      themeMode: ThemeMode.dark,
);

با اجرای کد بالا اپلیکیشن به حالت دارک مد تبدیل خواهد شد:

 

 material-app-theme-data-dark-mode

 

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

4) فونت استایل خود را یکبار تعریف کنید!

 

 

مقالات اخیر

نصب پلاگین فلاتر

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

بیشتر بخوانید

پکیج تقویم شمسی persian_datetime_picker

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

بیشتر بخوانید

ممنون که از ما حمایت می کنید!

۶۲۱۹-۸۶۱۰-۴۴۳۱-۴۶۲۲

به نام محمد غنچه - بانک سامان

:TRC-20

TXH658Q57XgJtMUpRz59b4ANRgq72VHKt5

در نهایت می تونید برای ارسال رسید یا هر سوال و هماهنگی دیگری با من ارتباط برقرار کنید: ۰۹۰۴۴۰۳۹۱۵۳