Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- pubspec.yaml
- 기본 개념
- delayed
- null_safety
- IT특성화 학생
- 리스트 아이템
- 욕 필터링
- 책 정보
- 인사글
- 주석 추가
- text overflow
- 기본코드
- javascript
- flutter 2.0
- 독도갈매기
- 해석
- await
- pub.dev
- Future
- 라이브러리
- liquid_swipe
- 취준생?!
- get과 post
- 비동기
- null-safety
- 글자 변경
- Node js
- flutter
- async
- listtile
Archives
- Today
- Total
This is unimportant
Flutter 기본 코드 분석 본문
Flutter 프로젝트를 만들었을 때 처음으로 주는 기본 생성 코드를 분석해보겠습니다.
//material 디자인의 위젯들을 사용하기 위해서 추가
import 'package:flutter/material.dart';
//myApp() 실행
void main() {
runApp(MyApp());
}
//StatelessWidget은 상태가 변화하지 않을 때 사용
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
//Material 디자인의 앱
return MaterialApp(
//앱 이름 설정
title: 'Flutter Demo',
//앱에 테마 설정
theme: ThemeData(
//앱에 기본 테마를 파란색으로 설정
primarySwatch: Colors.blue,
),
//MyHomePage()를 홈으로 지정
//title값을 보내줌
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
//statefulWidget은 상태가 변화할 때 사용
class MyHomePage extends StatefulWidget {
//매개변수로 key와 title을 사용
MyHomePage({Key key, this.title}) : super(key: key);
//앱 바에 타이틀이 될 부분
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
//변수 앞에 _를 쓰면 private가 된다.
//화면 중앙에 버튼을 얼마나 클릭했는지 출력해주는 숫자
int _counter = 0;
//_counter를 1씩 더 해주는 메소드
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
//Scaffold로 뼈대 구성
return Scaffold(
//화면 가장 상단에 앱바 생성
appBar: AppBar(
//앱바에 타이틀을 매개변수로 받아올 title로 함
title: Text(widget.title),
),
//HTML을 예로 들면 body역할을 하는 부분으로 몸통 부분
//Center()로 가운데로 이동
body: Center(
//Column()으로 세로 정렬 <=> Row()로 가로 정렬
child: Column(
//세로 가운데 정렬
mainAxisAlignment: MainAxisAlignment.center,
//Column은 위젯들을 가운데 정렬하기 때문에 여러개를 자식으로 둘 수 있다.
children: <Widget>[
//Text()로 텍스트 표시
Text(
'You have pushed the button this many times:',
),
Text(
//$를 사용해서 변수 사용 가능(${}로도 가능)
//버튼 클릭 횟수 표시
'$_counter',
//style로 텍스트의 스타일을 headline4로 변경
style: Theme.of(context).textTheme.headline4,
),
],
),
),
//우측 하단에 FloatingActionButton을 추가하는 부분
floatingActionButton: FloatingActionButton(
//클릭했을 때마다 _incrementCounter 메소드 실행
onPressed: _incrementCounter,
//버튼을 클릭했을 때 발생하는 작업을 설명
tooltip: 'Increment',
//flutter에서 기본적으로 제공하는 material design icon
child: Icon(Icons.add),
),
);
}
}
현재 제가 아는 선에서 최대한 분석해봤습니다.
혹시 부족하거나 틀린 부분이 있다면 알려주시면 감사하겠습니다.
'Flutter' 카테고리의 다른 글
Flutter Splash screen (0) | 2021.03.31 |
---|---|
Flutter 무료 e-book 소개 (0) | 2021.03.30 |
Flutter 젤리 슬라이드 (0) | 2021.03.29 |
Flutter ListTile (0) | 2021.03.28 |
Flutter Column과 Row (2) | 2021.03.27 |
Comments