Flutter PageView 자동 롤링 핵심 정리
1. 위젯과 컨트롤러의 이해
StatefulWidget 활용: 페이지가 자동으로 변하는 '상태 변경'이 핵심이므로, 정적인 StatelessWidget 대신 상태를 관리할 수 있는 StatefulWidget 사용법을 배움.
PageController의 역할: PageView의 현재 상태를 파악하고 제어하기 위해 WebViewController와 유사한 방식인 PageController 선언 및 활용법을 배움.
2. 생명주기와 타이머 설정
initState 메서드: 위젯이 생성되는 시점에 단 한 번 실행되는 initState 내에서 자동 넘김 로직을 초기화하는 생명주기 활용법을 배움.
Timer.periodic: dart:async 패키지를 사용하여 일정 시간(예: 3초)마다 특정 함수를 반복 실행하는 Timer 클래스 사용법을 배움.
3. 페이지 전환 로직 구현
현재 페이지 계산: pageController.page 값을 정수로 변환하여 현재 위치를 파악하고, 마지막 페이지 도달 시 첫 페이지로 되돌리는 무한 루프 로직 설계법을 배움.
animateToPage: 단순히 화면이 바뀌는 것이 아니라 애니메이션 속도(duration)와 곡선(curve)을 설정해 부드러운 페이지 전환 효과 주는 법을 배움.
4. UI 구성 및 스타일링
리스트 매핑(map): 숫자 리스트를 map()과 toList()를 이용해 Image.asset 위젯 리스트로 효율적으로 데이터 변환하는 법을 배움.
BoxFit.cover: 다양한 이미지 비율을 화면에 꽉 차게 맞추는 이미지 배치 전략을 배움.
SystemChrome: SystemUiOverlayStyle을 통해 상태바의 아이콘 색상을 변경하여 UI 완성도를 높이는 디테일 설정법을 배움.