플러터 MaterialApp 클래스 개념과 주요 속성


    `MaterialApp` 클래스는 Flutter에서 Material Design을 구현하는 데 사용되는 루트 위젯이다. Material Design은 Google에서 만든 UI 디자인 가이드라인입니다. 이 클래스는 앱의 시작점에서 `runApp()` 함수에 전달되며, 주로 앱의 기본 레이아웃, 테마, 라우트 등을 설정하는 데 사용된다.


    플러터 MaterialApp 클래스 개념과 주요 속성

    주요 속성

    아래는 `MaterialApp`의 주요 속성 몇 가지에 대한 설명이다.
    • home: 앱이 시작될 때 표시되는 기본 라우트로, 일반적으로 스크린의 루트 위젯으로 사용된다.
    • routes: 앱에서 사용되는 라우트 맵을 정의한다. 경로와 그에 해당하는 위젯을 매핑할 수 있다.
    • initialRoute: 앱이 시작될 때 초기에 로드할 라우트의 이름이다.
    • onGenerateRoute: 라우트가 생성될 때 호출되는 함수로, 동적 라우트 생성에 사용될 수 있다.
    • theme: 앱의 전반적인 테마를 설정한다. `ThemeData` 객체를 사용하여 다양한 스타일링 요소를 설정할 수 있다.
    • locale: 앱의 언어 설정 등을 수동으로 설정합니다.
    • localizationsDelegates: 앱의 지역화를 위한 델리게이트를 설정한다.
    • title: 앱의 제목을 설정한다. 일부 안드로이드 앱 스위처나 작업 관리자에서 확인할 수 있다.

    예제

    아래는 `MaterialApp`을 사용하여 앱의 제목, 홈 페이지, 기본 테마, 그리고 라우트를 설정하는 기본 예제이다.
    void main() {
      runApp(MaterialApp(
        title: 'My App',
        home: MyHomePage(),
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        routes: {
          '/second': (context) => SecondPage(),
        },
      ));
    }
    


    `MaterialApp`은 통일된 디자인 레이어를 제공하므로 개발자가 세부적인 스타일링에 신경 쓰지 않고도 좋은 사용자 경험을 제공할 수 있다.
    Previous Post Next Post