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

card_stack_widget のカバー
パッケージ詳細v0.1.6

card_stack_widget

Flutterアプリケーション向けの垂直方向にスワイプして非表示可能でカスタマイズ可能なカードスタック

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
286
いいね数
88
Pub ポイント
160

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

flutter pub add card_stack_widget

パッケージ概要

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

ユーザーが上または下にスワイプしてコンテンツをナビゲートできる、消去可能なカードの垂直スタックを提供するFlutterパッケージです。各カードは独自のレイアウト、アニメーション、動作でカスタマイズできます。クイズ、製品紹介、タスクリストなどのインタラクティブなインターフェースに最適です。このウィジェットはAndroid、iOS、Web、macOS、Windows、Linuxなど複数のプラットフォームをサポートしており、デバイス間で一貫したパフォーマンスを実現します。

用途

  • カードベースのインタラクティブなナビゲーション
  • 製品またはアイテムの発見インターフェース
  • クイズまたはアンケートアプリケーション
  • スワイプ操作によるタスク管理
  • スムーズな遷移を伴うコンテンツの閲覧

主な機能

  • 垂直カードスタック
  • スワイプして消去するジェスチャー
  • カスタマイズ可能なカードの外観
  • クロスプラットフォーム互換性
  • 組み込みアニメーションサポート
  • 拡張可能なイベント処理

適している対象

  • カードベースのUIを開発する開発者
  • スワイプ操作を必要とするアプリ
  • マルチプラットフォーム Flutter プロジェクト
  • インタラクティブなオンボーディングフロー
  • 動的コンテンツの表示

注意事項

  • ジェスチャーの競合を慎重に処理する必要があります
  • 大量のカード数があるとパフォーマンスに影響する可能性があります
  • カスタマイズにはFlutterレイアウトに精通している必要があります
  • 限定された組み込みテーマ
  • 水平スタックに最適化されていません
  • 高度な機能には外部の依存関係に依存しています

元の README

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

📦 card_stack_widget

A vertical dismissible and customizable stack of cards for a Flutter application.

Usage

CardStackWidget requires a list of CardModel, in order to create a stack of cards. You can customize their swipe or dismiss orientation, change the scale or the position factor. You can also apply an opacity, that change on drag movement.

Below, you can find an example of the usage of CardStackWidget and CardModel:

CardStackWidget _buildCardStackWidget(BuildContext context) {
  final mockList = _buildMockList(context, size: 4);

  return CardStackWidget(
    opacityChangeOnDrag: true,
    swipeOrientation: CardOrientation.both,
    cardDismissOrientation: CardOrientation.both,
    positionFactor: 3,
    scaleFactor: 1.5,
    alignment: Alignment.center,
    reverseOrder: true,
    animateCardScale: true,
    dismissedCardDuration: const Duration(milliseconds: 150),
    cardList: mockList,
  );
}

/// Create a mock list of `CardModel` to use inside `CardStackWidget`
_buildMockList(BuildContext context, {int size = 0}) {
  final double containerWidth = MediaQuery
      .of(context)
      .size
      .width - 16;

  var list = <CardModel>[];
  for (int i = 0; i < size; i++) {
    var color = Color((Random().nextDouble() * 0xFFFFFF).toInt() << 0)
        .withOpacity(1.0);

    list.add(
      CardModel(
        backgroundColor: color,
        radius: 8,
        shadowColor: Colors.black.withOpacity(0.2),
        child: SizedBox(
          height: 310,
          width: containerWidth,
          child: Container(), // Whatever you want
        ),
      ),
    );
  }

  return list;
}

Preview

GIF example card widget 1 GIF example card widget 2

🚀 Supported properties

CardStackWidget:

  • cardList: List
  • scaleFactor: double
  • positionFactor: double
  • alignment: Alignment?
  • reverseOrder: bool
  • cardDismissOrientation: CardOrientation
  • swipeOrientation: CardOrientation
  • onCardTap: Function(CardModel)?
  • animateCardScale: Duration
  • dismissedCardDuration: bool
  • opacityChangeOnDrag: bool

CardModel:

  • key: Key?
  • shadowColor: Color
  • backgroundColor: Color
  • radius: Radius
  • border: BoxBorder?
  • child: Widget?
  • padding: EdgeInsets?
  • margin: EdgeInsets?
  • gradient: Gradient?
  • imageDecoration: DecorationImage?

カテゴリー

ソースリポジトリ

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

データはまだありません。