FLUTTER ECOSYSTEM

MickaelHrndz/entry

위젯을 보이게 되는 상태로 간단하게 애니메이션할 수 있는 플러터 패키지입니다.

항목 프로젝트 이미지
Stars
29
Forks
6
최근 푸시(UTC)
2026. 2. 7.
프로젝트 상태
활성
Mickaël Hernandez GitHub avatar
GITHUB User

Mickaël Hernandez ↗

Flutter developer 💙

언어C++DartCMakeHTMLPythonCSwiftObjective-C

기술 주제

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 6 개

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

entry

Entry

Pub Package Platform
https://img.shields.io/pub/likes/entry?logo=dart https://img.shields.io/pub/points/entry?logo=dart https://img.shields.io/pub/dm/entry?logo=dart
CodeFactor CodeFactor https://img.shields.io/github/stars/mickaelhrndz/entry


This Flutter package introduces a new widget : Entry.

It lets you simply animate a widget into a visible state.

  • Don't just display widgets : make them appear (and disappear).
  • Lightweight and flexible : one widget is all you need.
  • Wrap a widget with an Entry.all and watch it come to life.

Entry animates opacity, scale, position and angle concurrently.

You can visualize the Curves constants on its documentation page.

🏭 Constructors

Default

Entry({key, delay, duration, curve, visible, opacity, scale, xOffset, yOffset, angle, child})

This constructor is motionless by default.

It includes every parameter available in named constructors.

Named

Entry has four named constructors :

  1. Entry.all({visible, opacity, scale, xOffset, yOffset, angle})

.all makes use of every animation by default, except for angle and xOffset.

The three others are each dedicated to a single animation :

  1. Entry.opacity({opacity})
  2. Entry.scale({scale})
  3. Entry.offset({xOffset, yOffset})

The key, delay, duration, curve, visible and child parameters are omitted here.

💕 Combining entries

Wrapping an Entry with another one works just as you expect it.

By playing with all the parameters, possibilities are endless.

You can copy one of the examples and start from there.

See in action

entry

👷 Grid builders

Fixed crossed-axis count

Using Entry with grid builders can create a staggered effect :

  • Wrap the generated child with an Entry widget
  • Multiply the delay value by the index % crossAxisCount

In result, the widgets of a same row will appear after each other.

See in action

entry

Randomization

You can set your delay and/or duration to a random number :

delay: Duration(milliseconds: random.nextInt(300))

This makes the entries look more independent from each other.

See in action

entry

✊ Motivation

  • Animations are key to elevate and refine the user experience.
  • By default, all widgets appear instantly. It feels basic, almost webpage-like.
  • Flutter doesn't provide a simple way to delay and animate a widget's entry into view.
  • Animations overall implies a lot of complexity and boilerplate code.
  • I got tired of copying the same file over multiple projects.

🙏 Credit

A special thank you to Felix Blaschke for his simple_animations package. This package literally depends on it.