
https://romantech.net/1298
상태(state)가 없는 위젯한 번 생성되면 UI가 변경되지 않음외부에서 데이터가 바뀌면 새로 생성되어 다시 그려짐불변(immutable)가볍고 성능이 좋음build() 메서드만 사용UI가 변하지 않을 때단순한 화면 구성 (텍스트, 아이콘 등)상태(state)를 가지는

StatelessWidget은 상태를 가지지 않기 때문에 생명주기 메서드가 따로 없고, 화면에 그려질 때 호출되는 build() 메서드만 존재한다. 반면, StatefulWidget은 상태 변경에 따른 다양한 생명주기 메서드를 제공한다.
가장 기본적인 박스 위젯크기, 색상, 여백, 정렬 등을 설정 가능👉 파란색 100x100 박스 생성세로 방향으로 위젯을 쌓는 레이아웃👉 위에서 아래로 순서대로 배치됨남은 공간을 자동으로 채우는 위젯Column 또는 Row 안에서 사용👉 "남은 공간을 나눠서 가져간
가로 방향(→)으로 위젯을 배치하는 레이아웃Column의 가로 버전👉 쉽게 말하면Column = 세로 쌓기 / Row = 가로 쌓기👉 결과: 빨강 파랑 → 가로로 나열👉 결과:빨강: 100px파랑: 50px초록: 나머지 전부 차지👉 결과:1 : 2 비율로 가
mainAxisAlignment: spaceEvenlycrossAxisAlignment: center👉 이 두 개가 실제로 어떻게 배치되는지 눈으로 확인👉 가로 방향에서앞 / 사이 / 뒤 간격이 모두 동일👉 세로 방향에서모든 위젯을 가운데로 정렬👉 Row는 가로
현재 위젯의 위치(트리 상 위치)를 알려주는 객체위젯 트리에서 부모/환경 정보 접근할 때 사용👉 대표 사용화면 크기, 방향, 패딩 등 디바이스 정보 제공👉 대표 정보화면 너비 / 높이상태바 / 노치 영역가로 / 세로 모드👉 화면 크기 기반 UI + context
스크롤 가능한 리스트 UI여러 아이템을 세로로 나열 + 스크롤 가능👉 쉽게 말하면Column + 스크롤 기능 추가된 것👉 위에서 아래로 스크롤 가능👉 데이터 많을 때 필수👉 아이템 사이 구분선 추가👉 좌우 스크롤👉 해결 👇👉 ListView는 스크롤 가능
화면에 문자(텍스트)를 표시하는 가장 기본 위젯👉 거의 모든 앱에서 사용됨 (제목, 내용, 버튼 등)👉 화면에 "Hello Flutter" 출력👉 결과:"엄청 긴 텍스트..." → "엄청 긴 텍..."👉 여러 스타일 혼합👉 Text + TextStyle = 모

화면에 이미지(사진, 아이콘 등)를 표시하는 위젯다양한 소스 지원:네트워크 (URL)로컬 assets파일(File)👉 인터넷 이미지 표시👉 pubspec.yaml 누락 → 이미지 안 나옴👉 예상 못한 크기 → UI 깨짐👉 Image + BoxFit = 이미지 U
Flutter 버튼(Button) 종류 + InkWell 정리 📌 1. 버튼 개요 Flutter에서 버튼은 크게 두 가지로 나뉨: 👉 1) 기본 제공 버튼 👉 2) 커스텀 클릭 처리 (InkWell 등) 📌 2. 기본 버튼 종류 | 버튼

위와 같이 클론 코딩을 하시오.
위젯을 겹쳐서 배치하는 레이아웃z-index처럼 앞뒤로 쌓는 구조👉 쉽게 말하면포토샵 레이어처럼 위에 겹쳐 올림👉 결과:빨강 (맨 아래)초록 (중간)파랑 (맨 위)Stack 안에서 위젯 위치를 직접 지정👉 위치 기준:top / bottom / left / righ

주사위 게임을 만들어 보자
화면 위에 뜨는 팝업 창(UI)사용자에게 확인 / 선택 / 입력 등을 받을 때 사용👉 쉽게 말하면“사용자에게 물어보는 창”👉 핵심 함수:👉 다이얼로그 닫기👉 선택 결과 받기 가능👉 build context 사용해야 함👉 다이얼로그 안 닫힘👉 showDial
Flutter 화면 전환 (Navigation) 정리 + 간단 예제 📌 1. 화면 전환이란? ✅ 개념 다른 화면(Page)으로 이동하는 기능 앱에서 페이지 이동 / 뒤로가기 구현 👉 Flutter에서는 Navigator를 사용 📌 2. 기본 구조 👉
홈피드
| ListView | PageView | | -------- | -------- | | 연속 스크롤 | 페이지 단위 | | 리스트 | 화면 전환 | | 여러 개 보임 | 한 페이지 중심 |
| FixedCrossAxisCount | MaxCrossAxisExtent | | ------------------- | ------------------ | | 개수 고정 | 크기 기준 | | 항상 동일
동기는:입니다.순서대로 실행됩니다.코드 흐름 이해 쉬움순서 보장오래 걸리는 작업 시 앱 멈춤 가능비동기는:하는 방식입니다.는:입니다.즉:을 의미합니다.는:라는 의미입니다.는:입니다.Flutter 앱에서는:API 요청로그인이미지 다운로드FirebaseDB 조회등이 시간이
무료 테스트용 JSON API게시글 데이터 제공인터넷 요청서버 데이터 가져오기JSON 문자열 → Dart List 변환화면 다시 그리기ListView 업데이트많은 리스트를 효율적으로 생성필요한 화면만 렌더링Flutter 기본 리스트 UItitle / subtitle 제

디자인 가이드를 보고 구현해 보세요.
Todo 리스트 구현