[flutter] ExpansionPanel 헤더 및 내용 위젯 배치 방법
ExpansionPanel 위젯은 헤더와 내용을 가진 확장 가능한 패널을 생성하는 데 사용됩니다. 이 문서에서는 ExpansionPanel 위젯 내에서 헤더와 내용 위젯을 배치하는 방법에 대해 설명할 것입니다.
ExpansionPanel 헤더 및 내용 위젯 배치하기
ExpansionPanel 위젯은 각각의 패널을 생성하기 위해 ExpansionPanelHeaderBuilder 와 ExpansionPanelBodyBuilder 콜백 함수를 사용합니다. 이러한 콜백 함수를 구현하여 헤더와 내용 위젯을 반환할 수 있습니다.
아래는 ExpansionPanel 위젯을 사용하여 헤더와 내용을 배치하는 예제입니다.
ExpansionPanelList(
expandedHeaderPadding: EdgeInsets.zero,
elevation: 0,
children: [
ExpansionPanel(
headerBuilder: (context, isExpanded) {
return ListTile(
title: Text('헤더 위젯'),
leading: Icon(Icons.header),
);
},
body: Container(
padding: EdgeInsets.all(16),
child: Text('내용 위젯'),
),
isExpanded: false,
),
],
),
위 예제에서는 ExpansionPanelList 위젯을 사용하여 한 개의 ExpansionPanel을 생성하고 있습니다. headerBuilder 콜백 함수에서는 ListTile 위젯을 반환하여 헤더 위젯을 구성하고 있고, body 에는 내용 위젯을 배치하고 있습니다.
위 코드를 실행하면 헤더 위젯이 보여지고, 헤더를 클릭하면 내용 위젯이 확장되어 표시됩니다.
결론
Flutter의 ExpansionPanel 위젯은 헤더와 내용 위젯을 배치하는데 사용됩니다. ExpansionPanelList 위젯을 사용하여 ExpansionPanel을 구성하고, headerBuilder 와 body 콜백 함수를 구현하여 헤더와 내용 위젯을 생성할 수 있습니다. 위 예제를 참고하여 ExpansionPanel을 사용해보세요.