intrinsic_grid_view
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
- 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
- Importing the library:
import 'package:intrinsic_grid_view/intrinsic_grid_view.dart';
- 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.