パッケージ、リポジトリ、アプリカテゴリを検索

sticky_headers のカバー
パッケージ詳細v0.3.0+2

sticky_headers

Flutter スティッキー ヘッダー - スクロール可能なコンテンツにヘッダーを配置でき、コンテンツをスクロールする際にコンテナの上部に接着します。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
1.8万
いいね数
903
Pub ポイント
140

パッケージをインストール

flutter pub add sticky_headers

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

StickyHeaders は、ユーザーがコンテンツをスクロールする際にリストの上部にヘッダーを固定し続けることを可能にする Flutter パッケージです。連絡先やカレンダーエントリなど、セクションヘッダーがスクロール中に表示されたままになる必要があるグループ化されたリストを作成するのに最適です。このパッケージは ListView および他のスクロール可能なウィジェットとシームレスに統合され、スムーズなパフォーマンスとカスタマイズ可能なヘッダー動作を提供します。Android、iOS、Web、macOS、Windows、Linux を含むすべての主要プラットフォームをサポートしています。

用途

  • グループ化されたリスト
  • 連絡先リスト
  • カレンダービュー
  • セグメント化されたデータ表示
  • スクロール可能なコンテンツと永続的なヘッダー

主な機能

  • スクロール時のスタックヘッダー
  • カスタマイズ可能なヘッダーのスタイル
  • スムーズスクロール統合
  • 複数のスクロール可能なウィジェットをサポート
  • クロスプラットフォーム互換性

適している対象

  • リストベースのアプリを開発する開発者
  • カテゴリ化されたデータを含むアプリ
  • 永続的なセクションヘッダーを必要とするUI
  • Flutterの初心者がスクロール可能なレイアウトを学ぶ
  • 複数のプラットフォームをターゲットにするプロジェクト

注意事項

  • 大規模なデータセットではパフォーマンスに影響する可能性があります
  • ヘッダーの高さを慎重に扱う必要があります
  • 制限された組み込みアニメーション
  • 非常に動的なコンテンツには最適化されていません
  • 複雑なレイアウトでは、ヘッダーの位置を手動で調整する必要がある場合があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Flutter Community: sticky_headers

Flutter Sticky Headers

pub package

Lets you place headers on scrollable content that will stick to the top of the container whilst the content is scrolled.

Usage

You can place a StickyHeader or StickyHeaderBuilder inside any scrollable content, such as: ListView, GridView, CustomScrollView, SingleChildScrollView or similar.

Depend on it:

dependencies:
  sticky_headers: "^0.3.0"

Import it:

import 'package:sticky_headers/sticky_headers.dart';

Use it:

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView.builder(itemBuilder: (context, index) {
      return StickyHeader(
        header: Container(
          height: 50.0,
          color: Colors.blueGrey[700],
          padding: EdgeInsets.symmetric(horizontal: 16.0),
          alignment: Alignment.centerLeft,
          child: Text('Header #$index',
            style: const TextStyle(color: Colors.white),
          ),
        ),
        content: Container(
          child: Image.network(
            imageForIndex(index), 
            fit: BoxFit.cover,
            width: double.infinity, 
            height: 200.0,
          ),
        ),
      );
    });
  }
}

Examples

Example 1 - Headers and Content

Demo 1

Example 2 - Animated Headers with Content

Demo 2

Example 3 - Headers overlapping the Content

Demo 3

Bugs/Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on Github and I'll look into it. Pull request are also welcome.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト