스크롤뷰는 널리 쓰이고 가장 신경써야 하는 항목중 하나이다. 퍼포먼스와 직결되는 문제이기 때문이다.
현재, 이것보다 더 좋은게 있을지는 모르겠으나, 지금 내가 가진 지식 한에서는 Sliver과 CustomScrollView 의 조합이
가장 좋다고 알고 있다.
무한스크롤 등 스크롤 페이지가 많을경우 이를 잘 표현하기 위한 방법으로 사용한다.
안드로이드의 recyclerview 아답터 생성시 list 개수를 리턴하는 함수가 있듯, sliverList 에서도 해당 기능을 구현하는걸
추천한다고 한다. 스크롤바를 표현하기 위해 쓴다고 한다.
위젯 생성시,
Widget build(BuildContext : context){
return Scaffold (
body : CustomScrollView(
slivers : <Widget> [
SliverList(delegate : SliverChildBuilderDelegate(
(context, index)
{
위젯생성( ...)
, childCount : 100),
......
SliverChildBuilderDelegate는 Flutter 에서 기본 제공해주는 delegate 이다.
SliverList 말고, SliverGrid의 경우,
SliverGridDelegateWithDuxedCrossAxisCount 를 사용하게 되고,
crossAxisCount (열의 개수) 와 mainAxisSpacing, crossAxisSpacing 을 통해 그리드 셀 간 간격 값을 설정할 수 있다.
'Flutter' 카테고리의 다른 글
| Json Serialize, Deserialize (0) | 2023.03.20 |
|---|---|
| REST API 통신 (0) | 2023.03.20 |
| Builder (StreamBuilder, FutureBuilder) (0) | 2023.03.14 |
| Stream (Kotlin 라이브데이터) (0) | 2023.03.14 |
| 비동기, Future , Then (0) | 2023.03.07 |