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

full_screen_image_null_safe のカバー
パッケージ詳細v2.0.0

full_screen_image_null_safe

フルスクリーン写真ビューア。垂直スクロールするとオフになります。Heroウィジェットと連携できます。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
842
いいね数
43
Pub ポイント
130

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

flutter pub add full_screen_image_null_safe

パッケージ概要

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

Flutter用のフルスクリーン画像ビューアーパッケージで、ユーザーが垂直にスクロールすると自動的に非表示になります。Heroウィジェットとのシームレスな統合により、画像間のスムーズな遷移をサポートしています。null安全であり、Android、iOS、Web、macOS、Windows、Linuxなど複数のプラットフォームで互換性があります。直感的なジェスチャーによるナビゲーションを備えた没入型の写真閲覧体験が必要なアプリに最適です。

用途

  • フルスクリーンで高解像度の画像を表示する
  • スムーズなトランジションを備えた画像ギャラリーの作成
  • 画像共有のためのHeroアニメーションとの統合
  • モバイルおよびウェブ上の写真閲覧の向上
  • スワイプして消去する動作の実装
  • フルスクリーンモーダルで画像を表示する

主な機能

  • 垂直スクロール時に自動非表示
  • null セーフな Dart 実装
  • Hero widget の互換性
  • クロスプラットフォーム対応(Android、iOS、Web、macOS、Windows、Linux)
  • ジェスチャー駆動型ナビゲーション
  • 軽量で統合が簡単

適している対象

  • モバイルおよびウェブ写真ギャラリー アプリ
  • 画像中心のアプリケーション
  • Heroトランジションを使用するアプリ
  • シンプルなフルスクリーン画像ビューアを探している開発者
  • プラットフォームに依存しない画像表示を必要とするプロジェクト
  • 直感的な画像ナビゲーションを希望するユーザー

注意事項

  • 水平スクロールによる終了をサポートしない可能性があります
  • ジェスチャーのカスタマイズオプションが限定的
  • 親のスクロールコンテキストに依存して非表示になる
  • 複雑なレイアウトよりも単一画像ビューに適している
  • ネストされたスクロールビューでは注意が必要です
  • 動画やアニメーションコンテンツ用に設計されていません

元の README

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

Full Screen image

Full screen photo viewer. It shuts off when scrolling vertically. Can work with Hero widget

Installation

To use this plugin, add full_screen_image_null_safe as a dependency in your pubspec.yaml file.

full_screen_image_null_safe: any

Getting Started

Check out the example app using full_screen_image.

Flutter

Full screen image:
  FullScreenWidget(
        child: ClipRRect(
          borderRadius: BorderRadius.circular(16),
          child: Image.asset(
            "assets/image1.jpg",
            fit: BoxFit.cover,
          ),
        ),
      )

Full screen with hero:
FullScreenWidget(
        child: Hero(
          tag: "customTag",
          child: ClipRRect(
            borderRadius: BorderRadius.circular(16),
            child: Image.asset(
              "assets/image2.jpg",
              fit: BoxFit.cover,
            ),
          ),
        ),
      );

Small image:

if you don't want widget full screen then use center widget

 FullScreenWidget(
        child: Center(
          child: Hero(
            tag: "smallImage",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );
Custom background color:
FullScreenWidget(
        backgroundColor: Colors.purple,
        child: Center(
          child: Hero(
            tag: "customBackground",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );

Non transparent widget:
FullScreenWidget(
        backgroundColor: Colors.purple,
        backgroundIsTransparent: false,
        child: Center(
          child: Hero(
            tag: "nonTransparent",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );

Custom widget:
  FullScreenWidget(
        child: SafeArea(
          child: Card(
            elevation: 4,
            child: Container(
              height: 350,
              padding: const EdgeInsets.all(8.0),
              child: Column(
                children: <Widget>[
                  Hero(
                    tag: "customWidget",
                    child: ClipRRect(
                      borderRadius: BorderRadius.circular(16),
                      child: Image.asset(
                        "assets/image3.jpg",
                        fit: BoxFit.cover,
                      ),
                    ),
                  ),
                  SizedBox(
                    height: 16,
                  ),
                  Text('Lorem text',style: TextStyle(color: Colors.black,fontWeight: FontWeight.bold),),
                  SizedBox(
                    height: 16,
                  ),
                  Expanded(
                    child: Text(
                      lorem,
                    ),
                  ),

                ],
              ),
            ),
          ),
        ),
      );

License

Apache

カテゴリー

ソースリポジトリ

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

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