파파비의 블로그
플러터, flutter) Grid형제들 - Gridview, GridTile, GridTileBar 본문
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로 제품이름이 들어가 있다.
'개발 > flutter' 카테고리의 다른 글
플러터, flutter) - Flutter은 전부 레퍼런스 타입... 그 와중에 List를 복사해서 전달하는 방법 (0) | 2020.06.07 |
---|---|
플러터, flutter) Provider를 사용하는 이유 2가지 (0) | 2020.06.07 |
플러터, flutter ) SwitchListTile & 기타 등등 (0) | 2020.06.06 |
플러터, flutter) initState & didChangeDependencies > context를 쓰기 위해선...? (0) | 2020.06.06 |
플러터, flutter) Navigation - push는 future 메소드이다. data를 주고 받는 방법 (0) | 2020.06.06 |