Flutter

Slivers, CustomScrollView

Dean83 2023. 3. 14. 16:06

스크롤뷰는 널리 쓰이고 가장 신경써야 하는 항목중 하나이다. 퍼포먼스와 직결되는 문제이기 때문이다. 

현재, 이것보다 더 좋은게 있을지는 모르겠으나, 지금 내가 가진 지식 한에서는 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