본문 바로가기
lecture.js/flutter.log

#widget 001: PageView

by malda 2023. 6. 14.

1) UI 구성할 때

  • controller 클래스가 필요하다.
  • PageView 위젯 생성 시 controller를 등록해줘야한다.
  • 페이지별 표현해줘야하는 위젯은 chidren에 추가해준다.
//.dart 
//Controller가 필요
PageController pageController = PageController();

//pageView 구성
PageView(
	controller: pageController,
	children: [
		Image.network(),
		...
	]
);
 

 

2) 내부 구현 로직

  • 현재 페이지를 가져오거나
  • 다른 위젯을 표현하기 위해 페이지 이동하는 경우
//현재 페이지
int? currentPage = pageController.page?.toInt();
int nextPage = currentPage + 1;
if(nextPage >= size){
	nextPage = 0;
}

//페이지 이동함수
pageController.animateToPage(
	nextPage,
	duration: Duration(milliseconds: 500), //페이지 이동 속도
    curve: Curves.ease //페이지 이동시 animation (지워지는 애니메이션)
);

 

 

'lecture.js > flutter.log' 카테고리의 다른 글

# widget002: FutureBuilder  (0) 2023.06.14