항목을 재정렬할 때 부드럽고 애니메이션 효과가 있는 전환을 제공하는 표준 ReorderableListView를 향상시키는 Flutter 패키지입니다. 단순성과 성능을 고려하여 설계되었으며, 복잡한 사용자 정의 로직 없이도 유연한 사용자 경험을 제공합니다. 작업 관리자나 사용자 정의 가능한 대시보드와 같이 사용자가 자주 항목을 재배열하는 리스트에 이상적입니다. 이 패키지는 모든 주요 플랫폼을 지원하며 기존의 Flutter 프로젝트에 쉽게 통합할 수 있습니다.
사용 사례
작업 관리 앱
사용자 정의 가능한 대시보드 레이아웃
드래그 앤 드롭 항목 재정렬
사용자 선호 정렬
인터랙티브 목록 인터페이스
주요 기능
부드러운 애니메이션 전환
간단한 API 통합
크로스 플랫폼 지원
최적화된 성능
내장 드래그 피드백
간편한 사용자 정의
적합한 대상
직관적인 리스트 재정렬을 원하는 개발자
반응형 UI 상호작용이 필요한 프로젝트
동적 콘텐츠 정렬을 갖춘 앱
개발 속도를 우선시하는 팀
Flutter 초보자가 고급 위젯 탐색 중
고려 사항
매우 큰 목록에서는 성능에 영향을 줄 수 있습니다
수직 목록 레이아웃에 제한됨
항목 키를 주의 깊게 다뤄야 합니다
수평 재정렬에 적합하지 않음
안정적인 항목 식별자와 함께 사용하는 것이 가장 좋습니다
다른 제스처 감지기와의 잠재적 충돌
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
animated_reorderable_list
This library is a powerful and easy-to-use solution for implementing animated list and grid with
drag-and-drop functionality in Flutter.
Features
[x] Smooth transition during item insertion and removal from the list with animations.
[x] Drag and Drop support (ReorderableList) for both ListView and GridView with Animation.
[x] It can be both animated and reordered at the same time
[x] Animating items is as simple as updating the list.
[x] Pre-built animation like fade,scale, slide, flip etc for Flutter list.
[x] Provides support for both lists and grids
[x] Supports large lists and creates items on demand as they come into the viewport.
If not specified, then default FadeIn() animation will be applied.
Delay, duration, curve
Animation have optional delay, duration, begin, end and curve parameters. Animations run
in parallel, but you can use a delay to run them sequentially:
If a specific duration is provided for the animation, it will run for that specified duration.
However, if insertDuration or removeDuration are specified, it will override specific item
duration.
You can use custom insertItemBuilder or removeItemBuilder if you wish to implement your own
customized animations instead of relying on the built-in animations provided by the library.
In these custom builder functions, the child parameter represents the widget returned by the
itemBuilder callback, and the animation parameter provides the animation control.
If a custom insertItemBuilder is provided, it will override the enterTransition. Similarly, if
removeItemBuilder is provided, then it will override exitTransition.
Animations
The library provides a set of pre-built animations that can be used for item insertion and removal.
You can use multiple animations at the same time by providing a list of animations.
The following animations are available:
Animation Type
ListView Example
GridView Example
FadeIn
FlipInY
FlipInX
Landing
ScaleIn
ScaleInTop
ScaleInBottom
ScaleInLeft
ScaleInRight
Size
SlideInLeft
SlideInRight
SlideInDown
SlideInUp
Bugs and Feedback
We welcome and appreciate any suggestions you may have for improvement.
For bugs, questions, and discussions please use
the Github Issues.
Acknowledgments
This library builds upon the foundation laid by the incredible work of the Flutter team.
The core logic for animated list and drag-and-drop functionality are derived from Flutter's native
widgets, specifically AnimatedList and ReorderableListView.
Contribution
The Canopas team enthusiastically welcomes contributions and project participation! There are a
bunch of things you can do if you want to contribute! The Contributor Guide has
all the information you need for everything from reporting bugs to contributing entire new features.
Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't
clear.
Credits
animated_reorderable_list is owned and maintained by the Canopas team.
You can follow them on Twitter at @canopassoftware for
project updates and releases.