Buscar pacotes, repositórios e categorias de apps

Capa de figma_layout_grid
Detalhes do pacotev0.3.2

figma_layout_grid

Sistema de grade visual que suporta os recursos de grade de layout do Figma

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
108
Curtidas
32
Pontos Pub
160

Instalar pacote

flutter pub add figma_layout_grid

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Flutter que implementa o sistema de grade de layout do Figma como uma ajuda visual, ajudando os desenvolvedores a alinhar elementos da interface de forma consistente com as especificações de design. Ele suporta os recursos de grade do Figma, como número de colunas, tamanho de espaçamento e deslocamento, permitindo correspondência precisa entre design e implementação. A grade é renderizada como um overlay na tela, sendo ideal para prototipagem e desenvolvimento. Compatível com todas as principais plataformas, ele melhora a colaboração entre designers e desenvolvedores ao pontuar a lacuna entre designs do Figma e aplicativos Flutter em tempo real.

Casos de uso

  • Correspondência de designs do Figma em aplicativos Flutter
  • Prototipagem com alinhamento visual de grade
  • Colaboração entre designers e desenvolvedores
  • Garantir espaçamento consistente em layouts de UI
  • Depuração visual de restrições de layout

Principais recursos

  • Sistema de grade inspirado no Figma
  • superposição de grade visual em tempo real
  • Suporta colunas, espaçamentos e deslocamentos
  • Compatibilidade multiplataforma
  • Integração fácil por meio do pub add
  • Aparência da grade personalizável

Indicado para

  • Designers trabalhando com Flutter
  • Desenvolvedores Flutter seguindo designs do Figma
  • Equipes usando o Figma para fluxos de trabalho de UI/UX
  • Projetos que exigem alinhamento de layout pixel-perfeito
  • Equipes de frontend focadas na consistência do design

Considerações

  • A grade é apenas para auxílio visual, não para lógica de layout
  • Não destinado à renderização de interface do usuário em produção
  • Pode afetar o desempenho se usado excessivamente
  • Deve estar desativado em compilações de lançamento
  • Requer configuração manual para telas diferentes

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Figma layout grid

pub package  

figma_layout_grid is a Flutter package which imitates Figma's layout grid and all its functionalities. It helps you determine whether your UI components match the design file and align properly.

Basic usage

Wrap a widget with LayoutGrid in order to render a layout grid on top of it.

LayoutGrid(
    ...
    builder: (context) => Scaffold(),
)

Available layouts

This package supports three types of layout overlays - rows, columns and pixel grid.

Rows

Horizontal stripes with specified height, gutter, margin, offset, arrangement and color. There is a possibility for fixed rows count with passing desired number in a count parameter, otherwise rows are rendered dynamically due to the screen limits.

Example usage

LayoutGrid(
  ...
  rowsParams: const RowsParams(
    offset: 32.0,
    height: 16.0,
    gutter: 16.0,
  ),
  builder: (context) => Scaffold(),
),
rows example image
Columns

Vertical stripes with specified height, gutter, margin, offset, arrangement and color. There is a possibility for fixed columns count with passing desired number in a count parameter, otherwise columns are rendered dynamically due to the screen limits.

Example usage

LayoutGrid(
  ...
  columnsParams: const ColumnsParams(
    count: 4,
    width: 64.0,
    margin: 32.0,
  ),
  builder: (context) => Scaffold(),
),
columns example image
Grid

Square pixel grid with fixed spacing and color. The thickness of a grid is set to 1.

Example usage

LayoutGrid(
  ...
  gridParams: const GridParams(
    size: 50.0,
    color: Colors.black26,
  ),
  builder: (context) => Scaffold(),
),
grid example image

State management

By default all of the layouts are disabled. In order to manage layout grid state you may use LayoutGrid methods which are accessible via builder context.

Rows

void LayoutGrid.of(context).showRows() - shows row layout

void LayoutGrid.of(context).hideRows() - hides row layout

void LayoutGrid.of(context).toggleRows() - toggles row layout visibility

bool LayoutGrid.of(context).visibleRows - returns current row layout visibility state

Columns

void LayoutGrid.of(context).showColumns() - shows column layout

void LayoutGrid.of(context).hideColumns() - hides column layout

void LayoutGrid.of(context).toggleColumns() - toggles column layout visibility

bool LayoutGrid.of(context).visibleColumns - returns current column layout visibility state

Grid

void LayoutGrid.of(context).showGrid() - shows grid layout

void LayoutGrid.of(context).hideGrid() - hides grid layout

void LayoutGrid.of(context).toggleGrid() - toggles grid layout visibility

bool LayoutGrid.of(context).visibleGrid - returns current grid layout visibility state

Parametrization

As this package mimics Figma's layout grid features you can directly transfer desired outcome into corresponding parameters. The following example shows columns grid set with count = 10, height = 12, gutter = 12, offset = 24, bottom alignment and some custom color.

figma layout configuration

Which translates to this piece of code

LayoutGrid(
  ...
  rowsParams: RowsParams(
    count: 10,
    height: 12.0,
    gutter: 12.0,
    offset: 24.0,
    arrangement: RowsArragement.bottom,
    color: const Color(0xFF757975).withOpacity(0.15),
  ),
  builder: (context) => Scaffold(),
),

And finally to the following UI.

custom config

There is also a possibility to enable SafeArea for a specific layout.

Each of the three layers has optional SafeAreaParams within you can pass what SafeArea parts should be handled. The available options are top, bottom, left and right which correspond to SafeArea's parameters with the same names.

By default SafeArea feature is disabled.

LayoutGrid(
    ...
    rowsParams: const RowsParams(
      safeAreaParams: SafeAreaParams(
        bottom: true,
        top: true,
      ),
    ),
    columnsParams: const ColumnsParams(
      safeAreaParams: SafeAreaParams(
        right: true,
        left: true,
        top: true,
      ),
    ),
    builder: (context) => Scaffold(),
)

The above snippet will make the grid overlays avoid the device's intrusions.

safe area config

Demo

Try out the example app.

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.