패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.3

gif_view

GIF 이미지를 로드하고 프레임 속도를 설정할 수 있습니다

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
2.2만
좋아요
79
Pub 점수
150

패키지 설치

flutter pub add gif_view

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

gif_view는 사용자 지정 프레임 속도를 지원하여 애플리케이션에서 GIF 이미지를 로드하고 표시할 수 있도록 해주는 Flutter 패키지입니다. Android, iOS, 웹, 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.