상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Flutter에서 ExpansionTile을 사용하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Flutter에서 `<a href='https://sangseek.com/sangseeks/ExpansionTile/ko'>ExpansionTile</a>`은 사용자가 클릭할 수 있는 타일 형태의 위젯으로, 타일을 클릭하면 추가적인 정보를 보여주는 방식으로 사용됩니다. 이 위젯은 주로 리스트 형태의 데이터나 카테고리화된 정보를 표시할 때 유용합니다. 아래에서는 `ExpansionTile`의 기본 사용법과 함께 몇 가지 예제를 통해 자세히 설명하겠습니다. 기본 사용법 `ExpansionTile`은 다음과 같은 주요 속성을 가집니다: - `title`: 타일의 제목을 설정합니다. - `children`: 타일이 확장될 때 보여줄 위젯의 리스트입니다. - `leading`: 타일의 왼쪽에 표시할 위젯입니다. - `trailing`: 타일의 오른쪽에 표시할 위젯입니다. - `initiallyExpanded`: 타일이 처음에 확장된 상태로 시작할지 여부를 설정합니다. 기본 예제 아래는 `ExpansionTile`을 사용하는 간단한 예제입니다. ```dart import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('ExpansionTile 예제'), ), body: ListView( children: <Widget>[ ExpansionTile( title: Text('타일 1'), children: <Widget>[ ListTile(title: Text('내용 1')), ListTile(title: Text('내용 2')), ], ), ExpansionTile( title: Text('타일 2'), children: <Widget>[ ListTile(title: Text('내용 A')), ListTile(title: Text('내용 B')), ], ), ], ), ), ); } } ``` 설명 1. 타일 생성 : `ExpansionTile`을 사용하여 각 타일을 생성합니다. `title` 속성에 타일의 제목을 설정하고, `children` 속성에 확장될 때 보여줄 위젯을 리스트 형태로 추가합니다. 2. ListView : 여러 개의 `ExpansionTile`을 포함하기 위해 `ListView`로 감싸줍니다. 이렇게 하면 스크롤이 가능해집니다. 고급 사용법 `ExpansionTile`은 다양한 커스터마이징이 가능합니다. 예를 들어, 아이콘을 추가하거나, 타일의 색상을 변경하는 등의 작업이 가능합니다. ```dart ExpansionTile( title: Text('타일 3'), leading: Icon(Icons.expand_more), trailing: Icon(Icons.arrow_forward), initiallyExpanded: false, children: <Widget>[ ListTile(title: Text('내용 X')), ListTile(title: Text('내용 Y')), ], ) ``` 상태 관리 `ExpansionTile`의 확장 상태를 관리하고 싶다면, `StatefulWidget`을 사용하여 상태를 저장할 수 있습니다. 아래는 상태를 관리하는 예제입니다. ```dart class MyExpansionTile extends StatefulWidget { @override _MyExpansionTileState createState() => _MyExpansionTileState(); } class _MyExpansionTileState extends State<MyExpansionTile> { bool _isExpanded = false; @override Widget build(BuildContext context) { return ExpansionTile( title: Text('타일 4'), initiallyExpanded: _isExpanded, onExpansionChanged: (bool expanding) => setState(() => _isExpanded = expanding), children: <Widget>[ ListTile(title: Text('내용 1')), ListTile(title: Text('내용 2')), ], ); } } ``` 결론 `ExpansionTile`은 Flutter에서 정보를 <a href='https://sangseek.com/sangseeks/계층적/ko'>계층적</a>으로 표시할 수 있는 매우 유용한 위젯입니다. 기본적인 사용법부터 고급 커스터마이징, 상태 관리까지 다양한 방법으로 활용할 수 있습니다. 이를 통해 사용자에게 더 나은 경험을 제공할 수 있습니다. Flutter의 다양한 위젯과 함께 `ExpansionTile`을 적절히 활용하여 앱의 UI를 더욱 풍부하게 만들어 보세요.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기