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

spring 표지
패키지 상세v2.0.2

spring

빠르고 쉬운 앱 개발을 위한 간단하고 강력한 사전 구축 애니메이션 키트입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
848
좋아요
254
Pub 점수
130

패키지 설치

flutter pub add spring

패키지 개요

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

Spring은 Flutter용 가벼운 사전 구축 애니메이션 키트로, 즉시 사용 가능한 애니메이션을 통해 앱 개발을 간소화하고 가속화합니다. 단순함과 강력함을 동시에 고려하여 최소한의 코드로 부드럽고 반응성 있는 전환 효과를 구현할 수 있습니다. 이 패키지는 Android, iOS, Web, macOS, Windows, Linux 등 여러 플랫폼을 지원해 크로스플랫폼 프로젝트에 유연하게 활용할 수 있습니다. 직관적인 API를 통해 애니메이션 전문 지식 없이도 UI의 상호작용성과 시각적 매력을 높일 수 있습니다.

사용 사례

  • 빠른 UI 프로토타이핑
  • 인터랙티브 버튼 효과
  • 부드러운 화면 전환
  • 로딩 상태 애니메이션
  • 온보딩 화면

주요 기능

  • 사전 구축된 애니메이션 프리셋
  • 크로스 플랫폼 호환성
  • 최소 설정
  • 매우 사용자 정의 가능
  • 내장된 이징 곡선
  • 경량 성능

적합한 대상

  • 초보자 플러터 개발자
  • 빠른 앱 개발
  • UI 중심 애플리케이션
  • 디자인 중심 프로젝트
  • 속도를 우선시하는 팀

고려 사항

  • 사전 설정을 초과한 사용자 정의는 제한적입니다
  • 패키지 크기가 약간 증가할 수 있습니다
  • 간단한부터 중간 정도의 애니메이션에 적합
  • 복잡한 사용자 정의 애니메이션 로직에 적합하지 않음
  • 기본 애니메이션 원리에 대한 이해가 필요합니다

원본 README

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

Spring Logo

A simple & powerfull pre-built animation kit.

🔨 Installation

dependencies:
     spring: ^2.0.2

simple_fade

🎥 Spring Animations

⚙ Import
import 'package:spring/spring.dart';

🕹️ Usage

Spring.slide(
     slideType: SlideType.slide_in_right,
     child: FlutterLogo(),
),

🕹️ Advanced Usage

import 'package:flutter/material.dart';
import 'package:spring/spring.dart';
import 'package:test123/blue_card.dart';
import 'package:test123/red_card.dart';

class SpringExample extends StatelessWidget {
  final SpringController springController =
      SpringController(initialAnim: Motion.play);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      body: Center(
        child: Spring.slide(
          springController: springController,
          slideType: SlideType.slide_in_right,
          delay: Duration(milliseconds: 500),
          animDuration: Duration(milliseconds: 1000),
          curve: Curves.easeInExpo,
          extend: 30,
          withFade: true,
          animStatus: (AnimStatus status) {
            print(status);
          },
          child: GestureDetector(
              onTap: () {
                springController.play(motion: Motion.reverse);
              },
              child: FlutterLogo()),
        ),
      ),
    );
  }
}

🎮 SpringController

SpringController allow you to control the animations without setting the setState.

//initial anim = Motion.play
final SpringController springController =
     SpringController(); 
// you can set the initial anim using initialAnim param..
final SpringController springController =
      SpringController(initialAnim: Motion.pause,);
Controlling the animations
GestureDetector(
          onTap: () {
            springController.play(
                motion: Motion.reverse,
                animDuration: Duration(milliseconds: 300),
                curve: Curves.bounceIn,
                delay: Duration(milliseconds: 900));
          },
          child: Spring.slide(
              springController: springController,
              slideType: SlideType.slide_in_right,
              delay: Duration(milliseconds: 500),
              animDuration: Duration(milliseconds: 1000),
              curve: Curves.easeInExpo,
              extend: 30,
              withFade: true,
              animStatus: (AnimStatus status) {
                print(status);
              },
              child: FlutterLogo()),
        ),

🔈 Animation Status

You can listen for animation Staus via animStatus callBack which returns AnimStatus enum.

  • AnimStatus.forward
  • AnimStatus.completed
  • AnimStatus.reverse
  • AnimStatus.dismissed
Spring.rotate(
     springController: springController,
     animStatus: (AnimStatus status) {
          print(status);
     },
     child: FlutterLogo()),

🐞 Bugs/Requests

If you encounter any problems please open an issue. If you feel the library is missing a feature, please raise a ticket on Github and we'll look into it. Pull request are welcome.

🙏 Thanks

📃 License

MIT License

카테고리

의존성

의존성 목록 4 개

소스 저장소

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

아직 데이터가 없습니다.