[flutter] ExpansionPanelList에 스크롤 기능 추가하기

ExpansionPanelList는 펼처지고 닫힐 수 있는 패널의 목록을 제공하는 위젯입니다. 하지만 아이템의 개수가 많거나 화면 크기가 작은 경우 스크롤이 필요할 수 있습니다. 이번 포스트에서는 ExpansionPanelList에 스크롤 기능을 추가하는 방법을 알아보겠습니다.

1. ListView로 감싸기

ExpansionPanelList 위젯을 스크롤 가능하게 만들기 위해서는 ExpansionPanelListListView로 감싸는 것이 가장 간단한 방법입니다. ListView는 자식 위젯을 스크롤 가능한 목록으로 만들어주는 위젯으로, 너비와 높이를 설정하여 스크롤 가능한 영역을 만들 수 있습니다.

ListView(
  children: [
    ExpansionPanelList(
      // ExpansionPanelList의 설정들
    ),
  ],
),

2. SingleChildScrollView로 감싸기

만약 ExpansionPanelList 위젯이 다른 위젯과 함께 화면을 공유해야한다면, SingleChildScrollView로 감싸는 것이 좋습니다. SingleChildScrollView는 자식 위젯이 화면 크기를 벗어날 경우 스크롤 가능하게 만들어주는 위젯입니다.

SingleChildScrollView(
  child: ExpansionPanelList(
    // ExpansionPanelList의 설정들
  ),
),

3. Expanded로 감싸기

만약 화면에서 Expanded 위젯을 사용하고 있다면, ExpansionPanelListExpanded로 감싸는 것도 한 가지 방법입니다. Expanded는 나머지 여유 공간을 모두 차지하는 위젯으로, 자식 위젯을 확장하여 스크롤 가능한 영역을 만들 수 있습니다.

Expanded(
  child: ExpansionPanelList(
    // ExpansionPanelList의 설정들
  ),
),

위의 방법들 중 어느 것을 선택할지는 시나리오에 따라 다를 수 있습니다. 위젯의 배치와 레이아웃을 고려하여 적절한 방식을 선택하세요.

이제 스크롤 가능한 ExpansionPanelList를 만들기 위해 위의 방법 중 하나를 선택하여 코드를 작성해보세요.