搜尋分類、套件與程式碼儲存庫

intrinsic_grid_view 封面
套件詳情v0.0.2

intrinsic_grid_view

IntrinsicGridView 是一個自定義的 GridView,它提供具有內在寬度和高度的 2D 子項陣列。擁有兩個命名構造函數: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

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。