Search categories, packages and repositories

intrinsic_grid_view cover
Package detailsv0.0.2

intrinsic_grid_view

IntrinsicGridView is a custom GridView, It provides 2D array of children with Intrinsic width and height. Having two named Constructors. horizontal and vertical

AndroidiOSWebmacOSWindowsLinux
30-day downloads
283
Likes
29
Pub points
140

Install package

flutter pub add intrinsic_grid_view

Package Overview

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

IntrinsicGridView is a Flutter package that implements a custom GridView with intrinsic width and height for its children, arranged in a 2D grid. It supports both horizontal and vertical layouts through two named constructors, enabling flexible and responsive grid designs. The package ensures each child maintains its natural size while fitting within the grid structure, making it ideal for content that requires consistent sizing without fixed dimensions. It works across all major platforms: Android, iOS, Web, macOS, Windows, and Linux.

Use cases

  • Responsive grid layouts
  • Dynamic content with variable sizes
  • Flexible UIs on multiple platforms
  • Content-heavy dashboards
  • Customizable 2D arrangements

Key features

  • Intrinsic width and height support
  • Horizontal and vertical layout constructors
  • Responsive design capabilities
  • Cross-platform compatibility
  • Simple integration via pub
  • Automatic child sizing

Suitable for

  • Developers needing adaptive grids
  • UI designers working with dynamic content
  • Projects targeting multiple platforms
  • Apps requiring flexible layout structures
  • Builders of data visualization interfaces

Considerations

  • May require performance tuning with large datasets
  • Limited to 2D array structure
  • Not suitable for highly complex nested layouts
  • Depends on parent constraints for sizing
  • Best used with predictable child dimensions

Original README

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

intrinsic_grid_view

pub package Likes popularity pub points Platform License GitHub code size in bytes GitHub stars

A Custom GridView, IntrinsicGridView provides 2D array of children with Intrinsic width and height.

Having two named Constructors

IntrinsicGridView.vertical scrolls in vertical direction.

IntrinsicGridView.horizontal scrolls in horizontal direction.

GridView vs IntrinsicGridView
Properties GridView IntrinsicGridView
contents overflow Yes No
children width vary with item width No Yes
children height vary with item height No Yes
if any children's height vary,
the adjacent child set new height
No Yes

Usage

  1. Add dependency.

Run this command with Flutter:

$ flutter pub add intrinsic_grid_view

or add following package in your pubspec.yaml file inside the dependencies: section.

dependencies:
  intrinsic_grid_view: ^0.0.2
  1. Importing the library:
import 'package:intrinsic_grid_view/intrinsic_grid_view.dart';
  1. Examples:

IntrinsicGridView.vertical example

code

      IntrinsicGridView.vertical(
          padding: EdgeInsets.only(top: 16, bottom: 12, left: 12, right: 12),
          // columnCount: 3,
          verticalSpace: 10,
          horizontalSpace: 10,
          children: [
            for (var scientist in scientists)
              _buildWidget(scientist),
          ]
      ), // IntrinsicGridView.vertical

IntrinsicGridView.horizontal example

code

      IntrinsicGridView.horizontal(
          padding: EdgeInsets.only(top: 16, bottom: 12, left: 12, right: 12),
          // rowCount: 1,
          verticalSpace: 10,
          horizontalSpace: 10,
          children: [
            for (var scientist in scientists)
              _buildHorizontalWidget(scientist),
          ]
      ), // IntrinsicGridView.horizontal

IntrinsicGridView.vertical + IntrinsicGridView.horizontal example

code

        Column(
          children: [
            Expanded(
              flex: 3,
              child: Row(
                children: [
                  Expanded(
                    child: IntrinsicGridView.vertical(
                        padding: EdgeInsets.only(top: 16, bottom: 12, left: 12, right: 12),
                        columnCount: 1,
                        verticalSpace: 10,
                        horizontalSpace: 10,
                        children: [
                          for (var scientist in scientists)
                            _buildWidget(scientist),
                        ]
                    ), // IntrinsicGridView.vertical
                  ),

                  Expanded(
                    child: IntrinsicGridView.vertical(
                        padding: EdgeInsets.only(top: 16, bottom: 12, left: 12, right: 12),
                        // columnCount: 3,
                        verticalSpace: 10,
                        horizontalSpace: 10,
                        children: [
                          for (var scientist in scientists)
                            _buildWidget(scientist),
                        ]
                    ), // IntrinsicGridView.vertical
                  ),


                ],
              ),
            ),

            Expanded(
              child: IntrinsicGridView.horizontal(
                  padding: EdgeInsets.only(top: 16, bottom: 12, left: 12, right: 12),
                  // rowCount: 1,
                  verticalSpace: 10,
                  horizontalSpace: 10,
                  children: [
                    for (var scientist in scientists)
                      _buildHorizontalWidget(scientist),
                  ]
              ), // IntrinsicGridView.horizontal
            ),
          ],
        ),

Contributing

Suggestions and Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Developer Team:

Amjad Jamali & Kamran Khan

License

Apache 2.0

Categories

Source repository

Projects using this package

No data available yet.