파파비의 블로그

플러터, flutter) Grid형제들 - Gridview, GridTile, GridTileBar 본문

개발/flutter

플러터, flutter) Grid형제들 - Gridview, GridTile, GridTileBar

N. Dave 2020. 6. 7. 18:32
반응형

1) GridView

 - ListView와 사용법이 거의 똑같다.

 - ListView처럼, GridView와 GridView.Builder가있다.

 

<GridView.Builder>

 - 기본적으로 필요한 속성은 3가지이다. itemcount, itembuilder, gridDelegate

 - itemcount, itembuilder는 ListView와 같은 개념이다.

 - gridDelegate이 특이한 놈이다. gridView가 어떻게 생길지 결정해주는 놈이다.

 - 속성으로 2가지 위젯중 하나를 고르면 된다.

   1) SliverGridDelegateWithFixedCrossAxisCount

     > grid 기둥 개수를 미리 선정해서, 사이즈가 어떻든 그에 맞추는 방식

     > (컨텐츠들의 사이즈가 바뀜)

   2) SliverGridDelegateWithMaxCrossAxisExtent

     > grid의 가로 길이를 결정하고 난 뒤, 그에 맞게 기둥들이 들어가는 방식 

     > (컨텐츠들의 사이즈가 바뀌지 않음)

 

 

위 이미지를 보면, crossAxisCount 로 기둥의 개수를 결정하는 모습이 보이며,

childAspectRatio는 3/2 인데 이것은 가로 3, 새로 2의 비율을 의미한다.

나머지 2개는 컨텐츠간 간격을 의미한다.

 

<GridView>

나중에 채워넣을것이다

 

2) GridTile

 - 그리드 안에 넣을 수 있는 위젯이다.

 - 그리드 안에 꼭 이 위젯만 넣어야하는 것은 아니다.

 - 총 3개의 속성이 있다. child, header, footer,

 

> child는 메인 content를 넣어야 한다. 필수다.

> header는 grid 상단 부분을 차지한다. 여기에 text나 뒤에 소개할 GridTileBar위젯을 넣을 수 있다.

> footer는 grid의 하단 부분을 차지한다. 마찬가지로 여기에 text나 뒤에 소개할 GridTileBar위젯을 넣을 수 있다.

footer에 gridTilebar을 넣었는데, 보시다 시피 각 그리드의 하단 부분을 차지한다.

 

 

 

3) GridTileBar

 - GridTile에 넣을 수 있는 특수 위젯이다.

 - ListTile과 비슷하게, leading, trailing, title 등을 넣을 수 있다.

 - 위 그림에는 GridTileBar안, leading과 trailing에 아이콘버튼을 넣은 것이고, tiltle로 제품이름이 들어가 있다.

 

 

반응형
Comments