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

パッケージ詳細v1.0.3

gif_view

GIF画像を読み込み、フレームレートを設定できます

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
2.2万
いいね数
79
Pub ポイント
150

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

flutter pub add gif_view

パッケージ概要

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

gif_view は、カスタムフレームレートをサポートしてアプリケーション内でGIF画像の読み込みと表示を可能にするFlutterパッケージです。Android、iOS、Web、macOS、Windows、Linuxなど、複数のプラットフォームでアニメーションGIFを簡単に統合できるシンプルなウィジェットを提供します。このパッケージは、GIFのデコードとレンダリングを効率的に処理し、再生速度の制御やアニメーションのパフォーマンス管理が可能です。複雑な設定なしにアニメーションビジュアルが必要なアプリに最適です。パッケージはオープンソースであり、Rafael Barbosaによって維持されています。

用途

  • アニメーションアバターを表示しています
  • GIF を使用したスプラッシュ画面の読み込み
  • アニメーションを使用してインタラクティブなUI要素を作成する
  • GIFとしてロードインジケーターを表示する
  • 教育アプリにおけるアニメーションコンテンツの統合

主な機能

  • カスタムフレームレート制御のサポート
  • クロスプラットフォーム互換性
  • シンプルなウィジェット統合
  • 効率的な GIF のデコード
  • オープンソースで、積極的にメンテナンスされています

適している対象

  • クロスプラットフォームアプリを開発する開発者
  • 軽量なアニメーショングラフィックスを必要とするアプリ
  • UIデザイナーがインターフェースにGIFを統合しています
  • 視覚コンテンツを備えた教育またはエンターテインメントアプリ

注意事項

  • 低価格端末でのパフォーマンスに影響する可能性があります
  • 大きなGIFファイルはメモリ使用量を増加させる可能性があります
  • フレームレートを超える高度なアニメーションコントロールは限定的
  • スムーズな再生には注意深い最適化が必要です

元の README

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

pub package

GifView

Load GIF|APNG images and can set framerate

Features

With GifView you can load GIF images of easy way and can configure frameRate.

  • Load from Assets;
  • Load from Network;
  • Load from Memory;
  • Set frame rate;
  • Set progress while loading GIF

Getting started

Add gif_view as a dependency in your pubspec.yaml file.

Usage

GIF from Asset
  GifView.asset(
    'assets/gif1.gif',
    height: 200,
    width: 200,
    frameRate: 30, 
  )
GIF from Network
  GifView.network(
    'https://www.showmetech.com.br/wp-content/uploads/2015/09/happy-minion-gif.gif',
    height: 200,
    width: 200,
  )
GIF from Memory
  GifView.memory(
    _bytes,
    height: 200,
    width: 200,
  )

Atributes

Name Description Default
controller - -
frameRate - -
height - -
width - -
fit - -
color - -
colorBlendMode - -
alignment - Alignment.center
imageRepeat - ImageRepeat.noRepeat
centerSlice - -
matchTextDirection - false
invertColors - false
filterQuality - FilterQuality.low
isAntiAlias - false
onFinish - -
onStart - -
onFrame - -
onLoaded - -
loop - -
playInverted - -
errorBuilder You can return a widget to show when happen error -
progressBuilder You can return a widget to show while loading -
scale - 1.0
headers - -

Controller


  GifController controller = GifController();

  controller.play({bool? inverted, int? initialFrame});

  controller.pause();

  controller.stop();

  controller.seek(34);

  GifStatus status = controller.status;
  // GifStatus { loading, playing, stoped, paused, reversing }

Controller use simple example


class MyPage extends StatelessWidget {
  final controller = GifController();
  MyPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: GifView.network(
        'https://www.showmetech.com.br/wp-content/uploads/2015/09/happy-minion-gif.gif',
        controller: controller,
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          if (controller.status == GifStatus.playing) {
            controller.pause();
          } else {
            controller.play();
          }
        },
      ),
    );
  }
}


Cache Management

Pre-fetching Images

GifView provides a static preFetch method to load and cache GIF images ahead of time for better performance:

// Pre-fetch single or multiple GIFs
// Asset
await GifView.preFetch(AssetImage('my/path/item.gif'));
// Network
await GifView.preFetch(NetworkImage('http://my/path/item.gif'));
// Memory
await GifView.preFetch(MemoryImage(Uint8List()));
// File
await GifView.preFetch(FileImage(File()));
Custom Cache Provider

You can implement your own caching strategy by setting a custom cache provider:

// Create custom provider
class MyCustomCacheProvider implements GifCacheProvider {
  @override
  Future<void> add(String key, Uint8List bytes) async {
    // Custom cache implementation
  }

  @override
  Future<Uint8List?> get(String key) async {
    // Custom retrieval implementation
  }

  @override
  Future<void> clear() async {
    // Custom clear implementation
  }
}

// Set custom provider
GifView.setCacheProvider(MyCustomCacheProvider());

// Revert to default provider
GifView.setCacheProvider(null);

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

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

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