Flutter

Flutter 배우기 #2 개발 환경 구축 및 기본 위젯 익히기

태은코딩 2025. 1. 5. 22:53

출처

https://www.youtube.com/watch?v=dnm7-MHDnBg

 

1. flutter 설치하기

https://docs.flutter.dev/get-started/install/windows/desktop

 

Start building Flutter native desktop apps on Windows

Configure your system to develop Flutter desktop apps on Windows.

docs.flutter.dev

위의 사이트에서 내가 컴퓨터 사양에 맞게 다운받기

압축 해제 후 flutter폴더를 C:\src\flutter로 이동시킨다.

 

2. 환경변수 설정

제어판의 시스템 환경변수 편집에 들어가서 Path에 들어간다. 

그리고 C:\src\flutter\bin의 경로를 추가한다. 

cmd창에 flutter --version을 쳤을 때 제대로 나오면 설치 완료된 거다.

 

3. 안드로이드 스튜디오 설치하기

https://developer.android.com/studio?hl=ko

 

Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android Developers

Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.

developer.android.com

설치 후 SDK매니저에서 Android SDK의 SDK tools에 들어간다.

SDK Command line tools를 체크하고 APPLY

 

4. 실습하기

1)  Hello World출력하기

 

2) 버튼 누르면 Hello -> World로 바꾸기

 

5. 기본 위젯 배우기

이유는 잘 모르겠지만 다음과 같이 컴퓨터가 느려서 에뮬레이터가 잘 작동하지 않아 코드 실습으로 진행해 보았습니다.

1) Container : 아무것도 없는 위젯

2) Column : 수직방향으로 위젯들을 나란히 배치하는 위젯

3) Row : Column과 반대로 수평 방향으로 위젯들을 나란히 배치하는 위젯

4) Stack: 나열한 위젯들 겹치게 한다.

이를 실습한 코드

5) SingleChildScrollView : 스크롤이 가능한 위젯

6) ListView : 리스트를 표시하는 위젯

7) ListTitle : 단일행 리스트 아이템 만들기

- Leading : 왼쪽

- Title : 중앙

- Trailing : 오른쪽

8) GridView : 열수를 지정하여 그리드 형태로 표시하는 위젯

9) PageView : 여러 페이지를 좌우로 슬라이드하여 넘길 수 있도록 해주는 페이지

10) AppBar, TabBar, Tab, TabBar

- 이 위젯들은 조합하여 PageView와 유사하지만 탭이 연동되는 화면을 구성

11) BottomNavigationBar : 하단에 2-5개의 탭 메뉴를 구성할 수 있는 위젯

- Scaffold의 프롶퍼티 중에서 Bottom NavigationBar 프로퍼티를 정의

6. 위치, 정렬, 크기를 위한 위젯

1) Center : 중앙으로 이동시키는 위젯

 

2) Padding : EdgeInsets함수

- all()함수 : 네 방향 모두 같은 값 지정
- only() 함수 : 원하는 방향에만 값을 지정
- Ex. EdgeInsets.only({left:[왼쪽], top:[위], right:[오른쪽], bottom:[아래]})
- fromLTRB() 함수 : 네 방향의 값을 각각 지정
- Ex. EdgeInsets.fromLTRB([왼쪽], [위], [오른쪽], [아래])

 

3) ALign : 자식 위젯의 정렬 방향을 정할 수 있는 위젯

- 원하는 방향으로 위젯 정렬할 때 사용

- 자식 위젯을 정렬하기 위해서는 방향 정의

 

4) Expanded : 자식위젯의 크기를 최대한으로 확장시켜주는 위젯

 

5) SizedBox 

- Width : 가로길이

- Height : 세로길이

 

7. 버튼 계열 위젯

1)  Elevated Button : 입체감 가진 버튼 위젯

2) TextButton : 평평한 버튼 위젯

3) IconButton : 아이콘 표시 버튼 위젯

4) FloatingActionButton : 입체감 있는 둥근 버튼 위젯

 

8. 화면 표시용 위젯 

1) Text : 글자를 표시하는 위젯

2) Image : 이미지를 표시하는 위젯

3) Progress : 로딩중이거나 오래걸리는 작업을 할때 사용자에게 진행중임을 보여주는 용도로 사용하는 위젯

- CorcularProgressIndicator() : 둥근 형태의 프로그레스바

- LinearProgressIndicator() : 선 형태의 프로그레스바

9. 입력용 위젯

1) TextField : 글자를 입력받는 위젯

- InputDecoration 클래스와 함께 사용하면 힌트 메시지나 외각선 등의 꾸밈 효과를 간단하게 줄 수 있다.

2) CheckBox와 Switch

- 체크박스, 라디오버튼, 스위치를 표현하는 위젯

- CheckBox와 Switch는 모양만 다를 뿐 사용방법은 동일

3) DropDownButton : 여러 아이템 중 하나를 고를 수 있는 코모박스 형태의 위젯