v1.1.0
zoom_tap_animation
縮放點擊動畫讓您可以實現類似今日標籤頁中 App Store 項目的效果,當您長按某個項目時,它會開始放大,然後縮小。
139喜歡 3300近 30 天下載140Pub 分數
AndroidiOSWebmacOSWindowsLinux
Zoom Tap Animation 是一個套件,可讓您建立類似於 App Store(iOS 應用程式)Today 頁籤中項目在長按某個項目時的縮放動畫效果。當您長按時,它會開始放大,釋放時則會縮小。
{"sdk":"flutter"}{"sdk":"flutter"}以下為英文專案原文快照,最新內容請造訪 GitHub。
Zoom Tap Animation is is a package that allows you to make an zoom animation effect similar to App Store's (ios app) items in Today tab, when you long tap on some item, it start to zoom in then it zoom out when you release it.
The idea is inspired from App Store app in Today tab where you can long tap on some item and it start to zoom in then zoom out as shown in the screenshot below.
https://raw.githubusercontent.com/KreatorDev/zoom_tap_animation/main/screenshots/original_idea.gifCheck out the example project in the example folder.
https://raw.githubusercontent.com/KreatorDev/zoom_tap_animation/main/screenshots/example.gifdependencies:
zoom_tap_animation: ^1.1.0
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
ZoomTapAnimation(
onTap: (){},
child: YOUR_WIDGET
);
ZoomTapAnimation(
child: YOUR_WIDGET,
onTap: (){},
onLongTap: (){},
enableLongTapRepeatEvent: false,
longTapRepeatDuration: const Duration(milliseconds: 100),
begin: 1.0,
end: 0.93,
beginDuration: const Duration(milliseconds: 20),
endDuration: const Duration(milliseconds: 120),
beginCurve: Curves.decelerate,
endCurve: Curves.fastOutSlowIn
);
ZoomTapAnimation(
child: GestureDetector(
onTap: () {},
onLongPress: (){},
onDoubleTap: (){},
// you can add more gestures...
child: Container(color: Colors.yellow, width: 100.0, height: 100.0),
),
);
| parameter | description | default |
|---|---|---|
| child | your child widget that you want to put the zoom effect on. | |
| onTap | what should happen when you tap on the widget. | null |
| onLongTap | what should happen when you long tap on the widget. | null |
| enableLongTapRepeatEvent | option to enable long tap loop which repeat every onTap event (in case onLongTap is specified, it repeats the onLongTap event). | false |
| longTapRepeatDuration | the duration between every onTap/onLongTap loop event. | const Duration(milliseconds: 100) |
| begin | the size of widget you want to begin with. | 1.0 |
| end | the size of widget you want to begin with. | 0.93 |
| beginDuration | the duration of the begin zoom in animation. | const Duration(milliseconds: 20) |
| endDuration | the duration of the end zoom in animation. | const Duration(milliseconds: 120) |
| beginCurve | the curve animation type of the begin zoom in animation. | Curves.decelerate |
| endCurve | the curve animation type of the end zoom in animation. | Curves.fastOutSlowIn |