tdk_bouncingwidget은 터치 시 위젯에 반동 애니메이션을 추가하는 가벼운 Flutter 패키지로, 미세한 시각적 피드백을 통해 사용자 상호작용을 향상시킵니다. 세 가지 서로 다른 반동 애니메이션 유형을 제공하여 버튼 및 기타 상호작용 요소의 반응을 쉽게 맞춤설정할 수 있습니다. 간단함과 성능을 고려해 설계되었으며, 다양한 플랫폼에서 Flutter 앱에 원활하게 통합됩니다. 복잡한 코드 없이 UI 참여도를 높이고 싶은 개발자에게 이상적입니다. 이 패키지는 오픈소스이며 지속적으로 유지보수되고 있습니다.
사용 사례
버튼에 촉각 피드백 추가하기
폼 내 터치 상호작용 개선
재미있는 UI 요소 만들기
앱 반응성 향상
위젯 터치 효과 맞춤 설정
애니메이션 아이콘과 카드
주요 기능
내장된 바운스 유형 세 가지
경량이고 빠름
크로스 플랫폼 지원
간단한 API 통합
오픈소스이며 잘 문서화되어 있습니다
필요한 보일러플레이트 최소화
적합한 대상
상호작용 피드백을 원하는 UI 디자이너
모바일 또는 웹 앱을 개발하는 개발자
직관적인 터치 반응이 필요한 앱
부드러운 애니메이션에 중점을 둔 프로젝트
초보자에서 중급자까지의 Flutter 개발자
고려 사항
터치 기반 애니메이션에 제한됨
고급 사용자 정의 옵션이 없음
미니멀리즘 디자인 스타일과 어울리지 않을 수 있습니다
중요한 위젯 트리에 대한 성능 영향
복잡한 제스처 인식을 위한 것이 아님
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Want to animate your widgets (like containers, cards etc...) bouncing In and out while clicking? Here is the package for that.
Features
This package contains a widget, where you need to wrap your own widgets ( like container, cards ect...) to animate them
bounce in and out while clicking.
Getting started
As the first step we need to add this package in pubspec.yaml file or run the following command flutter pub add tdk_bouncingwidget
Usage
Just wrap your widget inside BouncingWidgetInOut widget as shown below and we are done!!
There is one optional parameter called "bouncingType" which specifies the bouncing type of the widget. That is "Bouncing In only" or "Bouncing out Only" or both "Bouncing In and Out". By default bouncingType is "bounceInOnly".
bounceInOnly => Widget will shrink and grow based on scale factor value.
bounceOutOnly => Widget will grow and shrink based on scale factor value.
bounceInAndOut => Widget will shrink and grow first and then it will grow and shrink based on the scale factor value.
You can even customize the bouncing animation by giving duration how much time your widgets needs to animate and
how large and small your widget should grow/shrink by giving scale factor value.
Additional information
Feel free to raise an issue if anything breaking, I will try to fix that ASAP. Github link mentioned above. Thanks!