[Flutter] Flutter 시작할 때 알아야 되는 개념 알아보기

2023. 2. 17. 13:50·Flutter
목차
  1. import와 void main
  2. materialApp
  3. 옵션
  4. Scaffold
  5. 옵션
  6. 🔗 참고
728x90
반응형

import와 void main

import 'package:flutter/material.dart';

void main() => {runApp(MyApp())};

처음에 플러터를 시작하게 되면 main.dart 파일을 만들게 된다. 이는 기본적으로 만들지 않아도 생성되는 파일이다.

  • 그래서 임포트를 해서 material.dart package를 가져오면 된다.
  • 그리고 나서 void main() {runApp(MyApp())};라는 main이라는 함수를 실행하게 된다.
  • 여기서 MyApp()은 자기 마음대로 이름을 바꿔도 된다.

materialApp

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: onBoardingPage(),
    );
  }
}

MaterialApp는 Material Design Pattern으로, 내가 짜게 되는 모든 하위 페이지를 포함하게 된다. 이가 없이 코드를 짜게 된다면 오류가 발생한다. 

옵션

  1. title : 간단한 앱의 한 줄 설명을 말한다. 안드로이드의 경우 최근 사용한 앱에 표시되며, IOS는 사용할 수 없다.
  2. theme : 단어 그대로 앱의 테마를 설정한다.
// 상호작용 요소에 사용되는 색상
brightness: Brightness.light,

// 앱의 주요부분 배경 색 (앱바, 탭바 등)
primaryColor: Colors.greenAccent,

// 위젯의 전경색
accentColor: Colors.redAccent,

// 앱에 기본으로 사용될 폰트
// fontFamily: 'IBM-Sans'

→ 내 경우에는 theme에 primarySwatch를 사용한다. 이는 속성값을 통해 테마를 설정할 수 있다. 미리 제공되는 견본 색상을 의미하며 Colors클래스를 사용하게 되면 이에 다양한 견본색상들을 사용할 수 있다. Material Design에서 제공되는 색상들을 제공한다.

Material Design에서 제공되는 색상표
Material Design에서 제공되는 색상표

Colors.red[200]

이렇게 Colors클래스를 불러와서 사용하고자 하는 컬러의 이름을 쓰고 []를 써서 세세하게 색상을 정해주면 된다. 잘 모르겠다면 색상의 이름을 쓰는 순간 자세한 색상이 보여진다.

3. home : MaterialApp의 기본 경로로 앱 실행 시 가장 먼저 볼 수 있는 화면을 말한다. Scaffold 위젯을 사용하여 정의한다. 

Scaffold

class MyPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Main Page'),
      ),
      body: Center(
          child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text(
            'Main Screen',
            style: TextStyle(fontWeight: FontWeight.bold, fontSize: 25),
          ),
          ElevatedButton(
              onPressed: () {
                Navigator.of(context).pushReplacement(
                    MaterialPageRoute(builder: (context) => onBoardingPage()));
              },
              child: const Text('Go to onboarding screen'))
        ],
      )),
    );
  }
}

옵션

  1. appbar : appbar는 앱을 띄우면 맨위에 제목을 의미한다. appbar는 있을 수도 있고, 없을 수도 있다.
  2. body : appbar가 위치하지 않은 나머지들을 의미한다.

flutter options 설명
flutter options 설명

🔗 참고

https://100sucoding.tistory.com/33

https://ahang.tistory.com/7 → MaterialApp

https://points.tistory.com/65 → primartSwatch

728x90
반응형
저작자표시 (새창열림)
  1. import와 void main
  2. materialApp
  3. 옵션
  4. Scaffold
  5. 옵션
  6. 🔗 참고
'Flutter' 카테고리의 다른 글
  • [Flutter] Stack, EdgeInsets, BuildContext 개념 및 활용하기
  • [Flutter] 터미널에서 플러터 인식못할 때 인식시키기
  • [Flutter] flutter 환경변수 설정시 오류(window) 살펴보기
  • [Flutter] Flutter 설치 및 오류 살펴보기
Uheeking
Uheeking
안녕하세요. react, flutter, node.js에 관련해서 글을 쓰는 블로그입니다.
Uheeking
Uheeking의 it로그
Uheeking
전체
오늘
어제

공지사항

  • 분류 전체보기 (254)
    • React (48)
    • Node.js (32)
    • Next.js (22)
    • Vue.js (15)
    • javascript (3)
    • Django (19)
    • etc (23)
    • Flutter (30)
    • Error (16)
    • AWS (11)
    • docker & Kubernetes (32)
    • git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
250x250

인기 글

태그

  • MySQL
  • 리액트
  • Kubernetes
  • 노드
  • Django
  • supabase
  • node.js
  • firebase
  • docker
  • next.js
  • React
  • 쿠버네티스
  • useEffect
  • error
  • AWS
  • sequelize
  • 장고
  • 티스토리챌린지
  • NEXT
  • flutter
  • Create
  • SSR
  • Props
  • 넥스트
  • 도커
  • 오블완
  • Express
  • 플러터
  • Vue.js
  • mosquitto

최근 댓글

최근 글

250x250
hELLO· Designed By정상우.v4.5.2
Uheeking
[Flutter] Flutter 시작할 때 알아야 되는 개념 알아보기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.