ListView 위젯은 스크롤 가능한 항목 목록을 만드는 데 사용.
다양한 데이터 집합을 표시하는 유연한 위젯이며 여러 기능을 제공.
주요 특징:
다양한 데이터 소스 지원: List, SliverList, FutureBuilder 등 다양한 데이터 소스와 함께 사용 가능.
맞춤 설정 가능: 아이템 위젯을 완전히 커스터마이징하여 원하는 모습을 만들 수 있음.
효과 지원: 스크롤 시 애니메이션 효과 추가 가능.
효율성: 화면에 보이는 항목만 렌더링하여 성능 최적화.
다양한 빌더 유형: ListView.builder, ListView.separated, ListView.custom 등 다양한 빌더 유형 제공되어 데이터 표시에 유연성 제공.
사용 예시:
// 간단한 리스트뷰
ListView(
children: const [
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
Center(child: Text('스크롤', style: TextStyle(fontSize: 30))),
],
),
flutter ListView 사용 시 고려해야 할 점:
성능: 항목 수가 많을 경우 렌더링 성능 문제가 발생할 수 있으니 데이터를 효율적으로 다루는 방법 검토 필요.
아이템 크기: 동적 아이템 크기 사용 시 ListView 성능 저하 가능.
스크롤 이벤트 처리: 필요한 경우 스크롤 이벤트 처리 코드 추가.
flutter ListView는 다양한 상황에서 유용한 위젯이며 기본적인 리스트뷰 구현부터 복잡한 데이터 표시까지 활용.