Flutter에서 ExpansionTile을 사용하는 방법은 무엇인가요?
_____ExpansionTile은 Flutter에서 리스트 항목 내에 숨겨진 내용을 확장하거나 축소하여 보여주는 위젯입니다. 기본적으로 제목과 아이콘을 가지며, 사용자가 탭하면 추가적인 자식 위젯들을 펼쳐서 보여줍니다.
Q2: ExpansionTile을 어떻게 사용하나요?
```dart
ExpansionTile(
title: Text('타이틀'),
children:
ListTile(title: Text('확장된 내용 1')),
ListTile(title: Text('확장된 내용 2')),
],
)
```
위처럼 `title`에 기본 제목을 넣고, `children`에 확장 시 나타날 위젯 리스트를 추가하면 됩니다.
Q3: ExpansionTile의 주요 속성은 무엇인가요?
- `title`: 기본적으로 보이는 타이틀 위젯
- `leading`: 타이틀 왼쪽에 표시할 위젯(아이콘 등)
- `trailing`: 타이틀 오른쪽에 표시할 위젯(기본 열기/닫기 화살표를 대신할 수 있음)
- `children`: 확장 시 보이는 자식 위젯 목록
- `initiallyExpanded`: 처음부터 확장할지 여부 (`bool`, 기본값 `false`)
- `backgroundColor`: 확장된 영역 배경색
Q4: ExpansionTile 사용 시 주의할 점은?
- 리스트 내 여러 ExpansionTile을 사용할 경우 각 확장 상태를 별도로 관리해야 하며 상태 관리가 필요할 수 있습니다.
- ExpansionTile은 기본적으로 확장/축소 애니메이션이 내장되어 있으나 커스터마이징이 제한적입니다.
- 중첩된 ExpansionTile을 너무 많이 사용하면 UI가 복잡해질 수 있습니다.
Q5: ExpansionTile의 확장 상태를 프로그래밍적으로 제어할 수 있나요?
ExpansionTile 자체는 상태를 외부에서 직접 조작할 수 있는 컨트롤러를 제공하지 않습니다. `initiallyExpanded` 속성은 초기값만 설정합니다. 따라서 상태 제어가 필요하면 상태를 StatefulWidget에서 관리하고, `key`를 사용하거나 별도의 커스텀 위젯을 만들어야 합니다.
Q6: ExpansionTile 내에서 커스터마이징 가능한 항목은 무엇이 있나요?
- 아이콘을 바꾸려면 `leading` 혹은 `trailing` 속성으로 원하는 위젯을 넣으면 됩니다.
- 배경색을 변경하려면 `backgroundColor`와 `collapsedBackgroundColor` 속성을 활용합니다.
- 텍스트 스타일은 `title`에 사용하는 `Text` 위젯의 스타일을 설정하면 됩니다.
Q7: ExpansionTile을 리스트 형태로 많이 사용할 때 좋은 방법은?
`ListView.builder`와 함께 ExpansionTile을 사용하면 다수의 확장 항목을 효과적으로 렌더링할 수 있습니다. 확장 상태는 각 아이템 별로 별도의 변수를 두고 관리하는 것이 좋습니다.
---
이상으로 Flutter ExpansionTile의 기본 개념, 사용법, 주요 속성 및 활용 팁에 대해 FAQ 형식으로 정리했습니다.
작성자:
정수민 [비회원]
| 작성일자: 1년 전
2024-09-19 01:51:27
조회수: 196 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 196 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.