다양한 모양의 브릭(위젯)을 수직 또는 수평 목록에 배열할 수 있는 유연한 레이아웃 위젯을 제공하는 플러터 패키지입니다. 벽처럼 보이며, 동적 크기 조정과 위치 지정을 지원하여 비균일한 요소를 가진 시각적으로 매력적인 그리드를 만들기에 적합합니다. 다양한 화면 크기와 방향에 맞춰 자동으로 조정되며, 다양한 플랫폼에서 반응형 디자인을 보장합니다. 사진 갤러리, 대시보드 및 비균일한 레이아웃이 필요한 창의적인 UI에 특히 유용합니다.
사용 사례
혼합 종횡비를 가진 사진 갤러리
다양한 크기의 대시보드 위젯
불규칙한 형태를 가진 창의적인 UI 레이아웃
다중 플랫폼에서 반응형 그리드 표시
인터랙티브한 벽처럼 생긴 인터페이스
주요 기능
다양한 모양과 크기의 벽돌을 지원합니다
수직 및 수평 방향 옵션
반응형 및 적응형 레이아웃
크로스 플랫폼 호환성
기존 Flutter 위젯과의 간편한 통합
적합한 대상
시각적 다양성을 찾는 디자이너
동적 그리드를 구축하는 개발자
균일하지 않은 레이아웃을 요구하는 앱
다중 플랫폼을 대상으로 하는 프로젝트
복잡한 배열을 가진 UI 중심 애플리케이션
고려 사항
큰 수의 벽돌이 있을 경우 성능이 달라질 수 있습니다
블록 크기 제약을 신중하게 처리해야 합니다
제한된 내장 애니메이션
정적 또는 낮은 동적 콘텐츠에 가장 적합
복잡한 상호작용을 위해 사용자 정의 로직이 필요할 수 있습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
flutter_wall_layout - Layout child having different shape into a vertical or horizontal list
This library provides a unique widget, WallLayout, rendering into a list children having different shapes.
There is two main classes: WallLayout and Stone.
A wall is composed by a set of stones, arranged in a certain way.
A stone is a component defining its shape by a width and a height.
Wall Layout Widget
This component has been inspired by the ListView widget, in which you can choose scroll direction and the way.
Added to that, you can also define how many rows or column have the wall, if you want to create a responsive design.
List of Stone widgets, representing wall layout's children.
-
layersCount
Define the number of layers the wall have. Must be higher or equal to 2. When direction is Axis.vertical, it defines the number of columns the wall has. When direction is Axis.horizontal, it defines the number of rows.
-
wallBuilder
Define how the wall is built: where each stone is positioned within the wall.The wall builder is allowed to use less stones than provided, and can create new stones (see ./example for more details).
WallBuilder.standard()
stonePadding
Padding between stones.
16.0
primaryAxisStoneSize
Optional. If specified, indicates the exact size of each stone in the direction of the primary scroll axis. If not specified, each stone will be exactly square.
-
scrollController
Same as [ListView.scrollController]: "control the position to which this scroll view is scrolled".
-
physics
Same as [ListView.physics]: "How the scroll view should respond to user input".
-
restorationId
Same as [ListView.restorationId]: used "to save and restore the scroll offset of the scrollable".
-
dragStartBehavior
Same as [ListView.dragStartBehavior]: "Determines the way that drag start behavior is handled".
DragStartBehavior.start
clipBehavior
Same as [ListView.clipBehavior]: "ways to clip a widget's content".
Clip.hardEdge
primary
Same as [ListView.primary]: "Whether this is the primary scroll view associated with the parent [PrimaryScrollController]"
false
scrollDirection
Same as [ListView.scrollDirection]: "axis along which the scroll view scrolls".
Axis.vertical
reverse
Same as [ListView.reverse property]: "whether the scroll view scrolls in the reading direction".
false
Stone Widget
A Stone Widget is a widget proxy defining stone's size (width and height).
It's rendered object is optimized thanks to it's id property.