Flutter
Flutter - ListView
Mr. Joo
2023. 11. 8. 13:20
728x90
ListView
Flutter의 ListView 위젯은 스크롤 가능한 항목 목록을 표시하는 데 사용된다. 한 번에 화면에 맞지 않는 많은 수의 항목을 표시하는 데 사용할 수 있다. ListView 위젯은 세로 및 가로 스크롤을 모두 지원하며 앱의 요구 사항에 맞게 사용자 지정할 수 있다.
'ListView' 위젯은 빌더 함수, 위젯 목록 또는 'SliverChildListDelegate'를 비롯한 다양한 방법을 사용하여 항목으로 채워질 수 있다.
빌더 기능은 일반적으로 데이터베이스 또는 웹 서비스와 같은 일부 데이터 소스를 기반으로 목록 항목을 동적으로 생성해야 하는 경우에 사용된다.
ListView 위젯은 바운싱 또는 스냅과 같은 다양한 스크롤 동작도 지원합니다. scrollDirection, itemExtent, padding, physics 등을 포함한 다양한 속성으로 사용자 지정할 수 있다.
또한 ListView 위젯을 RefreshIndicator 또는 ScrollController와 같은 다른 위젯과 함께 사용하여 앱에 추가 기능과 상호 작용을 제공할 수 있다.
생성자 매개변수
- key: 위젯에 대한 고유 식별자를 제공하는 Key 객체.
- scrollDirection: 목록이 스크롤되어야 하는 방향. Axis.horizontal 또는 Axis.vertical.
- reverse: 목록을 역순으로 표시할지 여부를 결정하는 값.
- controller: 목록의 스크롤 동작을 제어하는 ScrollController 객체.
- primary: 목록이 위젯 트리에서 기본 스크롤 보기여야 하는지 여부를 결정.
- physics: 스크롤 뷰의 물리적 기능. ScrollPhysics 객체 또는 ScrollPhysics 하위 클래스.
- shrinkWrap: 목록의 내용을 수축 포장해야 하는지 여부를 결정하는 값.
- padding: 목록 주위에 추가할 패딩.
- itemExtent: 목록에 있는 각 항목의 고정 범위. 이것은 children 또는 itemBuilder 속성이 목록을 만드는 데 사용되는 경우에만 사용.
- children: 목록에 표시할 위젯 목록.
- itemBuilder: 목록의 각 항목에 대해 호출되는 빌더 함수. 일반적으로 일부 데이터 소스를 기반으로 목록 항목을 동적으로 만드는 데 사용된다.
- semanticChildCount: 접근성 목적을 위한 목록의 항목수.
예시
class MyApp extends StatelessWidget {
final List<String> items = List.generate(100, (index) => "Item $index");
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My App',
home: Scaffold(
appBar: AppBar(
title: Text('My App'),
),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(items[index]),
);
},
),
),
);
}
}
728x90
LIST