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

fade_shimmer 표지
패키지 상세v2.4.0

fade_shimmer

최신 페이스북 로딩 스켈레톤 UI와 같은 로딩 효과를 부드러운 페이드 전환과 함께 구현할 수 있는 페이드 샤이머 라이브러리입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
7.7천
좋아요
225
Pub 점수
160

패키지 설치

flutter pub add fade_shimmer

패키지 개요

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

Fade Shimmer은 Facebook의 스켈레톤 UI를 영감으로 한 부드럽고 애니메이션된 로딩 효과를 제공하는 Flutter 패키지입니다. 페이드 전환을 사용하여 시각적으로 매력적인 플레이스홀더를 만들어 콘텐츠 로딩 상태에 이상적입니다. 이 라이브러리는 여러 플랫폼을 지원하며 기존의 Flutter 앱에 쉽게 통합할 수 있습니다. 사용자 정의 가능한 지속 시간, 색상 및 샴버 방향을 통해 데이터 가져오기 중 사용자 경험을 향상시킵니다. 가벼운 설계로 성능에 미치는 영향을 최소화하면서도 현대적이고 완성도 높은 로딩 애니메이션을 제공합니다.

사용 사례

  • 플레이스홀더 화면 로딩
  • 목록과 카드를 위한 스켈레톤 UI
  • 콘텐츠 로딩 표시기
  • 앱 온보딩 화면
  • 동적 데이터 가져오기 표시
  • 네트워크 지연 동안 UX 향상

주요 기능

  • 부드러운 페이드 전환 애니메이션
  • 사용자 지정 가능한 반짝임 방향
  • 사용자 정의 애니메이션 지속 시간
  • 다수의 플랫폼을 지원합니다
  • 경량이고 효율적
  • 기존 위젯과의 간편한 통합

적합한 대상

  • 현대적인 UI를 구축하는 개발자
  • 우아한 로딩 상태를 필요로 하는 앱
  • UX 일관성을 우선시하는 팀
  • 스켈레톤 플레이스홀더를 사용하는 프로젝트
  • Flutter 초보자가 애니메이션 탐색 중

고려 사항

  • 저사양 기기에서 최적의 성능을 위해 조정이 필요할 수 있습니다
  • 기본 애니메이션 속성 외의 사용자 지정은 제한적입니다
  • 복잡한 상호작용 로딩 시나리오에 적합하지 않습니다
  • Flutter의 렌더링 파이프라인에 의존합니다
  • 정적 또는 예측 가능한 레이아웃 구조와 함께 사용하는 것이 가장 좋습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

FadeShimmer

pub package License: MIT

A customizable Flutter package that provides elegant shimmer loading effects with smooth fade transitions. Perfect for creating skeleton screens while your content is loading.

Demo

FadeShimmer Demo

Features

  • 🎨 Customizable colors and dimensions
  • 🌓 Built-in light and dark themes
  • ⏱️ Configurable animation duration
  • 🌊 Support for staggered animations with delay parameter
  • 🔄 Synchronized animations across multiple shimmer elements
  • 🔘 Convenient factory for creating circular shimmer effects

Installation

Add fade_shimmer to your pubspec.yaml file:

dependencies:
  fade_shimmer: ^2.3.0

Run the following command to install:

flutter pub get

Usage

Import the package
import 'package:fade_shimmer/fade_shimmer.dart';
Basic Usage
Create a rectangular shimmer
FadeShimmer(
  height: 8,
  width: 150,
  radius: 4,
  fadeTheme: FadeTheme.light,
)
Create a circular shimmer (for avatars/profile pictures)
FadeShimmer.round(
  size: 60,
  fadeTheme: isDarkMode ? FadeTheme.dark : FadeTheme.light,
)
Custom colors
FadeShimmer(
  height: 8,
  width: 150,
  radius: 4,
  highlightColor: Color(0xffF9F9FB),
  baseColor: Color(0xffE6E8EB),
)
Advanced Usage
Staggered animation effect

Create a wave-like loading effect by adding delays to each shimmer element:

Column(
  children: [
    FadeShimmer(
      height: 8,
      width: 150,
      radius: 4,
      millisecondsDelay: 0,
      fadeTheme: FadeTheme.light,
    ),
    SizedBox(height: 8),
    FadeShimmer(
      height: 8,
      width: 170,
      radius: 4,
      millisecondsDelay: 300, // 300ms delay
      fadeTheme: FadeTheme.light,
    ),
    SizedBox(height: 8),
    FadeShimmer(
      height: 8,
      width: 120,
      radius: 4,
      millisecondsDelay: 600, // 600ms delay
      fadeTheme: FadeTheme.light,
    ),
  ],
)
Changing animation duration

You can change the global animation duration for all shimmer widgets:

// Change animation duration to 3 seconds (default is 1 second)
FadeShimmer.animationDurationInMillisecond = 3000;

Note: This change affects all FadeShimmer widgets in your application.

Customization

Available Properties
Property Type Description
width double Width of the shimmer container (required)
height double Height of the shimmer container (required)
radius double Border radius of the shimmer container (default: 0)
fadeTheme FadeTheme Predefined theme (light or dark)
highlightColor Color The brighter color that the shimmer transitions to
baseColor Color The darker color that the shimmer starts with
millisecondsDelay int Delay before the animation starts (default: 0)
Predefined Themes
  • FadeTheme.light - Light gray colors suitable for light backgrounds
  • FadeTheme.dark - Dark gray colors suitable for dark backgrounds

Example Project

Check out the example directory for a complete sample application using FadeShimmer.

Compatibility

  • Supports Flutter 3.0 and above
  • Null safety compatible
  • Works on all platforms (Android, iOS, Web, Desktop)

Contributing

Contributions are welcome! If you find a bug or want a feature, please open an issue on the GitHub repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

카테고리

소스 저장소

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