본문 바로가기

Flutter 플러터

Flutter PageView infinite loop

PageView를 쓸 때 Loop가 되도록 만들기

pub.dev에서 관련 패키지를 찾아보거나 stackoverflow를 찾아보면

아래와 같은 방법으로 쉽게 해결할 수 있습니다.

 

 

1. PageController의 initialPage 값을 표시할 아이템 갯수보다 아주 많이 큰 값으로 설정한다

2. itemCount값을 주지 않는다.

3. itemBuilder에서 index 값을 index%List.length 로 처리해서 범위를 지정해준다

 

final controller = new PageController(initialPage: 999);

PageView.builder(
      controller: controller,
      itemBuilder: (context, index) {
        return Container(
          color: colorList[index%colorList.length],
          );
        }
)