본문 바로가기

Flutter

(6)
4. BuildContext 및 상속 BuildContext widget tree에서 현재 widget의 위치를 알 수 있는 정보. Flutter에서 모든 위젯은 build 함수를 가지며, 계층 구조를 이룬다. Widget build(BuildContext context) return Scaffold 해당 build 함수는, Widget 타입을 지닌 BuildContext 타입을 받아 Scaffold 라는 위젯을 리턴한다는 의미이다. 즉 build 함수는 Scaffold 위젯을 리턴을 하되, context를 포함하여 리턴한다. BuildContext는 stateless 위젯, state 빌드 함수에 의해 리턴 된 위젯의 부모가 된다. class StartPage extends StatelessWidget{ Widget build(BuildC..
3. 위젯의 종류 Container 빈 위젯, 다양한 속성을 가질 수 있는 위젯으로 직사각형의 가상 요소를 만든다. BoxDecoration으로 테두리, 배경색, 그림자등을 꾸밀 수 있으며 Margin, Padding, Constraint 속성으로 조정할 수 있다. Row, Column 콘텐츠의 수평, 수직 배치를 할 수 있게 하며 대부분의 레이아웃이 이와 조합하여 사용된다. Children 속성에 여러 위젯을 사용할 수 있다. mainAxisSize : (max,min) mainAxis의 사이즈 mainAxisAlignment : (center, start, end) 가로형 정렬 crossAxisAlignment : (center, start, end) 세로형 정렬 Stack Flutter는 요소 배치를 위해 배치형 위..
2. Flutter 기본 코드 분석, 구조의 이해 Flutter의 기본 이해를 하고자 오른쪽과 같이 작성된 앱의 구조를 분석해보고자 한다. // ignore_for_file: prefer_const_constructors // ignore_for_file: prefer_const_literals_to_create_immutables import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { const MyApp ({ Key? key }) : super(key: key); @override Widget build(BuildContext context) { return const MaterialApp( debugShowC..
1. Flutter의 이해, [Flutter 개요] 플러터는 구글이 만든언어로 다트의 프레임워크이다. 또한 크로스플랫폼 GUI SDK이며 리액트 네이티브 처럼 인터페이스를 따로 나눌 필요 없이 하나만 렌더링이 가능한 장점이 있다. 플러터는 리액트처럼 리액티브,선언형,조합할 수 있는 뷰계층 라이브러리이다. 즉 위젯이라는 작은 컴포넌트를 조합해 모바일UI를 만든다. 플러터의 대부분은 위젯이며 위젯은 뷰를 묘사하는 다트 클래스다. 구조,스타일,애니메이션 그리고 그 밖에 UI를 구성하는 모든 것이 위젯이다. 위젯이란 UI를 구성하는 모든 기분 단위요소 눈에 보이지 않는 요소(padding, center 등) 네이티브 안드로이드 에서는 뷰를 정의할때 내부 속성값으로 margin이나 padding 등을 정의해서 뷰의 크기나 위치등을 지정하는데..
Flutter Doctor - cmdline-tools compoent is missing flutter doctor --android-licenses 에서, cmdline-tools 을 찾지 못했을 경우 발생하는 오류로, Android Studio는 Default로 cmdline-tools를 제공하지 않기 때문에, 수동 설치를 하여야 한다. 안드로이드 스튜디오 SDK Manager에서 'Android SDK Command-line Tools'를 찾아 설치한다.
Lint 경고 무시하기 Flutter 프로젝트를 진행하다보면, 아래와 같이 경고문구를 띄우는데, Lint는 Flutter에서 사용자가 코드를 작성할때 빼먹는 실수나, 코드 스타일등을 지적하는 역할을 한다. (룰셋) 이는 해당 파일의 헤더나 경고가 발생하는 위젯에 // ignore_for_file : 경고명 을 작성하는 것으로 무시할 수 있다.