패키지, 저장소 및 앱 카테고리 검색

flutter_wall_layout 표지
패키지 상세v2.1.2

flutter_wall_layout

다양한 모양의 브릭(위젯) 세트를 벽처럼 수직 또는 수평 목록으로 표시하는 레이아웃 위젯...

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
2.6천
좋아요
133
Pub 점수
150

패키지 설치

flutter pub add flutter_wall_layout

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

다양한 모양의 브릭(위젯)을 수직 또는 수평 목록에 배열할 수 있는 유연한 레이아웃 위젯을 제공하는 플러터 패키지입니다. 벽처럼 보이며, 동적 크기 조정과 위치 지정을 지원하여 비균일한 요소를 가진 시각적으로 매력적인 그리드를 만들기에 적합합니다. 다양한 화면 크기와 방향에 맞춰 자동으로 조정되며, 다양한 플랫폼에서 반응형 디자인을 보장합니다. 사진 갤러리, 대시보드 및 비균일한 레이아웃이 필요한 창의적인 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.

WallLayout(
  stones: _buildStonesList(),
  layersCount: 3,
  scrollDirection: Axis.vertical,
  reverse: false,
);
Wall Layout Widget Properties
Parameter Description Default value
stones 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.

Stone(
    id: 7,
    width: 2,
    height: 2,
    child: Container(
      color: Colors.red,
      child: Center(child: Text("2x2")),
    ),
);
Stone Widget Properties
Parameter Description Default value
width Stone width (relative to the number of wall divisions). Must be higher or equal to 1. -
height Stone height (relative to the number of wall divisions). Must be higher or equal to 1. -
id Proxy layout identifier: must be unique. -
child Widget to render, where its size will be constrained by the stone width and height. -

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.