[flutter] ExpansionPanel에서 패널 헤더 길이 조절 방법
ExpansionPanel
은 Flutter에서 사용할 수 있는 위젯 중 하나로, 패널을 확장하거나 축소하는 기능을 제공합니다. 하지만 기본적으로 패널 헤더의 길이는 고정되어 있어 원하는 길이로 조절하기가 어려울 수 있습니다. 이번 글에서는 ExpansionPanel
의 패널 헤더 길이를 조절하는 방법에 대해 알아보겠습니다.
1. Custom ExpansionPanel을 사용하기
ExpansionPanel
은 패널 헤더의 길이를 조절할 수 있는 기능을 제공하지 않습니다. 따라서 우리는 ExpansionPanel
을 상속한 새로운 위젯을 만들어야 합니다. 아래는 예시 코드입니다.
import 'package:flutter/material.dart';
class CustomExpansionPanel extends ExpansionPanel {
final double headerHeight;
CustomExpansionPanel({
required Widget headerBuilder,
required Widget body,
this.headerHeight = 48.0,
}) : super(
headerBuilder: (BuildContext context, bool isExpanded) {
return Container(
height: headerHeight,
child: headerBuilder,
);
},
body: body,
);
}
위 코드에서는 CustomExpansionPanel
이라는 새로운 위젯을 정의하고, headerHeight
라는 추가적인 파라미터를 통해 헤더의 높이를 지정할 수 있도록 했습니다.
2. CustomExpansionPanel 사용 예시
아래는 CustomExpansionPanel
을 사용하는 예시입니다.
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
children: [
CustomExpansionPanel(
headerBuilder: Text('패널 1'),
body: Container(
child: Text('내용 1'),
),
),
CustomExpansionPanel(
headerBuilder: Text('패널 2'),
body: Container(
child: Text('내용 2'),
),
),
],
),
);
}
}
위 코드에서 CustomExpansionPanel
을 사용하여 패널 헤더의 높이를 조절할 수 있습니다. headerHeight
파라미터를 조절하여 패널 헤더의 높이를 원하는대로 변경할 수 있습니다.
결론
위의 방법을 통해 ExpansionPanel
의 패널 헤더 길이를 조절할 수 있습니다. CustomExpansionPanel을 사용하여 필요한 높이를 지정하면 패널 헤더를 자유롭게 조절할 수 있습니다.