Search packages, repositories and app categories

Package detailsv1.0.1

axis_layout

Horizontal (row) and vertical (column) layout with expand and shrink features.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
1.6K
Likes
3
Pub points
160

Install package

flutter pub add axis_layout

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

AxisLayout is a Flutter package that provides flexible horizontal (row) and vertical (column) layout widgets with built-in expand and shrink capabilities. It simplifies arranging children along a single axis while offering precise control over spacing, alignment, and sizing. Designed for clean, readable code, it enhances UI development by reducing boilerplate in common layout scenarios. The package supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux.

Use cases

  • Creating responsive row or column layouts
  • Building dynamic forms with variable-sized fields
  • Designing adaptive UIs for multiple screen sizes
  • Simplifying complex nested layouts
  • Implementing flexible card or list item arrangements

Key features

  • Expand and shrink child widgets
  • Support for both horizontal and vertical layouts
  • Built-in alignment and spacing controls
  • Minimal boilerplate for common layouts
  • Cross-platform compatibility

Suitable for

  • Developers seeking simple yet powerful layout solutions
  • Projects requiring responsive and adaptive UIs
  • Teams aiming to reduce layout-related code complexity

Considerations

  • Limited to axis-aligned layouts only
  • May require learning curve for advanced features
  • Not suitable for complex grid or overlapping layouts

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Axis Layout

Usage

Horizontal

AxisLayout(axis: Axis.horizontal, children: [child]);

Vertical

AxisLayout(axis: Axis.vertical, children: [child]);

Shrink

AxisLayout(axis: Axis.horizontal, children: [
  AxisLayoutChild(child: child1, shrink: 1, shrinkOrder: 1),
  child2,
  AxisLayoutChild(child: child3, shrink: 1, shrinkOrder: 2)
]);

Expand

AxisLayout(
  axis: Axis.horizontal,
  children: [child1, AxisLayoutChild(child: child2, expand: 1)]);

Support this project

Bitcoin

bc1qhqy84y45gya58gtfkvrvass38k4mcyqnav803h

Ethereum (ERC-20) or Binance Smart Chain (BEP-20)

0x9eB815FD4c88A53322304143A9Aa8733D3369985

Helium

13A2fDqoApT9VnoxFjHWcy8kPQgVFiVnzps32MRAdpTzvs3rq68

Categories

Source repository

Projects using this package