Skip to content

Commit fa5c45f

Browse files
committed
增加动画效果
1 parent c4359dc commit fa5c45f

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

lib/page/repository_detail_page.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'package:bezier/bezier.dart';
12
import 'package:flutter/material.dart';
23
import 'package:fluttertoast/fluttertoast.dart';
34
import 'package:gsy_github_app_flutter/common/dao/issue_dao.dart';
@@ -10,13 +11,15 @@ import 'package:gsy_github_app_flutter/page/repository_detail_issue_list_page.da
1011
import 'package:gsy_github_app_flutter/page/repository_detail_readme_page.dart';
1112
import 'package:gsy_github_app_flutter/page/repository_file_list_page.dart';
1213
import 'package:gsy_github_app_flutter/page/repostory_detail_info_page.dart';
14+
import 'package:gsy_github_app_flutter/widget/anima/curves_bezier.dart';
1315
import 'package:gsy_github_app_flutter/widget/gsy_bottom_action_bar.dart';
1416
import 'package:gsy_github_app_flutter/widget/gsy_common_option_widget.dart';
1517
import 'package:gsy_github_app_flutter/widget/gsy_icon_text.dart';
1618
import 'package:gsy_github_app_flutter/widget/gsy_tabbar_widget.dart';
1719
import 'package:gsy_github_app_flutter/widget/gsy_title_bar.dart';
1820
import 'package:gsy_github_app_flutter/widget/repos_header_item.dart';
1921
import 'package:scoped_model/scoped_model.dart';
22+
import 'package:vector_math/vector_math.dart';
2023

2124
/**
2225
* 仓库详情
@@ -265,7 +268,7 @@ class _RepositoryDetailPageState extends State<RepositoryDetailPage>
265268
_getBranchList();
266269
_refresh();
267270
animationController =
268-
new AnimationController(vsync: this, duration: Duration(seconds: 2));
271+
new AnimationController(vsync: this, duration: Duration(milliseconds: 800));
269272
animationController.forward();
270273
}
271274

@@ -305,8 +308,10 @@ class _RepositoryDetailPageState extends State<RepositoryDetailPage>
305308
onPageChanged: (index) {
306309
reposDetailModel.setCurrentIndex(index);
307310
},
311+
308312
floatingActionButton: ScaleTransition(
309-
scale: CurvedAnimation(parent: animationController, curve: Curves.fastLinearToSlowEaseIn),
313+
//scale: CurvedAnimation(parent: animationController, curve: Curves.bounceInOut),
314+
scale: CurvedAnimation(parent: animationController, curve: CurveBezier()),
310315
child: FloatingActionButton(
311316
onPressed: () {
312317
_createIssue();
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import 'package:bezier/bezier.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:vector_math/vector_math.dart';
4+
5+
class CurveBezier extends Curve {
6+
7+
final quadraticCurve = new QuadraticBezier([
8+
new Vector2(-4.0, 1.0),
9+
new Vector2(-2.0, -1.0),
10+
new Vector2(1.0, 1.0)
11+
]);
12+
13+
@override
14+
double transformInternal(double t) {
15+
return quadraticCurve.pointAt(t).s;
16+
}
17+
}

pubspec.lock

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ packages:
3636
url: "https://pub.flutter-io.cn"
3737
source: hosted
3838
version: "2.2.0"
39+
bezier:
40+
dependency: "direct main"
41+
description:
42+
name: bezier
43+
url: "https://pub.flutter-io.cn"
44+
source: hosted
45+
version: "1.1.2"
3946
build:
4047
dependency: transitive
4148
description:

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies:
3535
android_intent: ^0.3.0
3636
webview_flutter: ^0.3.7+1
3737
flare_flutter: ^1.5.0
38+
bezier: ^1.1.2
3839
flutter_localizations:
3940
sdk: flutter
4041
flutter_lottie:

0 commit comments

Comments
 (0)