搜索分类、插件与代码仓

intrinsic_grid_view 封面
插件详情v0.0.2

intrinsic_grid_view

IntrinsicGridView 是一个自定义的 GridView,它提供了一个二维数组的子项,具有固有宽度和高度。它有两个命名构造函数:horizontal 和 vertical。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
283
喜欢数
29
Pub 分数
140

安装插件

flutter pub add intrinsic_grid_view

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

IntrinsicGridView 是一个 Flutter 包,实现了具有固有宽度和高度的自定义 GridView,其子项以二维网格形式排列。它通过两个命名构造函数支持水平和垂直布局,可实现灵活且响应式的网格设计。该包确保每个子项保持其自然大小的同时适配网格结构,非常适合需要一致尺寸但无需固定维度的内容。它可在所有主要平台上运行:Android、iOS、Web、macOS、Windows 和 Linux。

适合场景

  • 响应式网格布局
  • 动态内容,大小可变
  • 跨平台的灵活用户界面
  • 内容密集型仪表板
  • 可自定义的 2D 排列

主要特点

  • 内在宽度和高度支持
  • 水平和垂直布局构造函数
  • 响应式设计功能
  • 跨平台兼容性
  • 通过 pub 简单集成
  • 自动子项尺寸调整

适合对象

  • 需要自适应网格的开发者
  • 与动态内容协作的UI设计师
  • 针对多个平台的项目
  • 需要灵活布局结构的应用程序
  • 数据可视化界面的构建者

使用建议

  • 处理大型数据集时可能需要性能调优
  • 限制为二维数组结构
  • 不适合高度复杂的嵌套布局
  • 依赖父级约束进行尺寸调整
  • 最好与可预测的子级尺寸一起使用

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

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

所属分类

源码仓库

使用此插件的项目

暂无相关数据。