Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a290d7c

Browse files
authored
Merge pull request #36 from FlutterOpen/dev
Dev
2 parents 1425164 + 3cc5afa commit a290d7c

File tree

6 files changed

+147
-0
lines changed

6 files changed

+147
-0
lines changed

‎lib/const/page_item_const.dart‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,14 @@ const PAGE_ITEMS = [
202202
"img": PageImage.FLUTTER_OPEN,
203203
"click": PageName.ANIM_HERO,
204204
},
205+
{
206+
"title": PageName.ANIM_FADE_TRANS,
207+
"img": PageImage.FLUTTER_OPEN,
208+
"click": PageName.ANIM_FADE_TRANS,
209+
},
210+
{
211+
"title": PageName.ANIM_POSITION_TRANS,
212+
"img": PageImage.FLUTTER_OPEN,
213+
"click": PageName.ANIM_POSITION_TRANS,
214+
},
205215
];

‎lib/const/page_name_const.dart‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,6 @@ class PageName {
4545
static const ANIM_CONTAINER = "AnimationContainer";
4646
static const ANIM_CROSS_FADE = "AnimationCrossFade";
4747
static const ANIM_HERO = "HeroPage";
48+
static const ANIM_FADE_TRANS = "FadeTranstion";
49+
static const ANIM_POSITION_TRANS = "PositionTransition";
4850
}

‎lib/main.dart‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class FlutterOpenApp extends StatelessWidget {
5959
PageName.ANIM_CONTAINER: (context) => AnimatedContainerPage(),
6060
PageName.ANIM_CROSS_FADE: (context) => AnimCrossFadePage(),
6161
PageName.ANIM_HERO: (context) => HeroPage(),
62+
PageName.ANIM_FADE_TRANS: (context) => FadeTransitionPage(),
63+
PageName.ANIM_POSITION_TRANS: (context) => PositionTransitionPage(),
6264
},
6365
);
6466
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
///
2+
/// Created by NieBin on 2019年6月8日
3+
/// Github: https://github.com/nb312
4+
/// Email: niebin312@gmail.com
5+
import "package:flutter/material.dart";
6+
import 'package:flutter_widgets/const/_const.dart';
7+
8+
class FadeTransitionPage extends StatefulWidget {
9+
@override
10+
_FadeTransitionState createState() => _FadeTransitionState();
11+
}
12+
13+
class _FadeTransitionState extends State<FadeTransitionPage>
14+
with SingleTickerProviderStateMixin {
15+
Animation<double> _opacityAnim;
16+
AnimationController _controller;
17+
18+
Widget _fadeTrans() => FadeTransition(
19+
opacity: _opacityAnim,
20+
child: Text(
21+
"Hello world",
22+
style: TextStyle(color: RED_LIGHT),
23+
),
24+
);
25+
@override
26+
void initState() {
27+
_controller =
28+
AnimationController(duration: Duration(seconds: 3), vsync: this);
29+
CurvedAnimation curvedAnimation =
30+
CurvedAnimation(parent: _controller, curve: Curves.easeOut);
31+
_opacityAnim = Tween(begin: 0.0, end: 1.0).animate(curvedAnimation);
32+
super.initState();
33+
}
34+
35+
@override
36+
Widget build(BuildContext context) {
37+
return Scaffold(
38+
appBar: AppBar(
39+
title: Text(PageName.ANIM_FADE_TRANS),
40+
),
41+
body: Column(
42+
children: <Widget>[
43+
_fadeTrans(),
44+
FloatingActionButton(
45+
child: Text("Click Me"),
46+
onPressed: () {
47+
_controller.reset();
48+
_controller.forward();
49+
},
50+
)
51+
],
52+
),
53+
);
54+
}
55+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
///
2+
/// Created by NieBin on 2019年6月9日
3+
/// Github: https://github.com/nb312
4+
/// Email: niebin312@gmail.com
5+
///
6+
import "package:flutter/material.dart";
7+
import 'package:flutter_widgets/const/_const.dart';
8+
9+
class PositionTransitionPage extends StatefulWidget {
10+
@override
11+
_PositionTransState createState() => _PositionTransState();
12+
}
13+
14+
class _PositionTransState extends State<PositionTransitionPage>
15+
with SingleTickerProviderStateMixin {
16+
Animation<RelativeRect> _rectAnim;
17+
AnimationController _controller;
18+
19+
Widget _positionTrans() => PositionedTransition(
20+
rect: _rectAnim,
21+
child: Container(
22+
color: BLUE_DEEP,
23+
child: Text("Hello world"),
24+
),
25+
);
26+
27+
Widget _positionClick() => FloatingActionButton(
28+
child: Text("position click"),
29+
onPressed: () {
30+
_controller.reset();
31+
_controller.forward();
32+
},
33+
);
34+
35+
@override
36+
void initState() {
37+
_controller =
38+
AnimationController(vsync: this, duration: Duration(seconds: 3));
39+
CurvedAnimation _curve =
40+
CurvedAnimation(parent: _controller, curve: Curves.easeOut);
41+
_rectAnim = RelativeRectTween(
42+
begin: RelativeRect.fromLTRB(00.0, 0.0, 0.0, 0.0),
43+
end: RelativeRect.fromLTRB(100.0, 100.0, 0, 00),
44+
).animate(_curve)
45+
..addListener(() {
46+
print("value = $_rectAnim");
47+
});
48+
49+
super.initState();
50+
}
51+
52+
@override
53+
Widget build(BuildContext context) {
54+
return Scaffold(
55+
appBar: AppBar(
56+
title: Text(PageName.ANIM_POSITION_TRANS),
57+
),
58+
body: Column(
59+
mainAxisAlignment: MainAxisAlignment.start,
60+
crossAxisAlignment: CrossAxisAlignment.center,
61+
children: <Widget>[
62+
Container(
63+
constraints: BoxConstraints.expand(width: 200, height: 200),
64+
color: RED_LIGHT,
65+
child: Stack(
66+
children: <Widget>[
67+
_positionTrans(),
68+
],
69+
),
70+
),
71+
_positionClick()
72+
],
73+
),
74+
);
75+
}
76+
}

‎lib/page/anim/_anim.dart‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ export "AnimationPage.dart";
66
export 'AnimatedContainerPage.dart';
77
export 'AnimCrossFadePage.dart';
88
export 'HeroPage.dart';
9+
export 'FadeTransitionPage.dart';
10+
export 'PositionTransitionPage.dart';

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /