v2.0.2coast
Hero와 유사한 애니메이션을 지원하는 PageView 래퍼
96좋아요 8130일 다운로드140Pub 점수
AndroidiOSWebmacOSWindowsLinux
Hero와 유사한 애니메이션을 지원하는 PageView 래퍼
{"sdk":"flutter"}{"sdk":"flutter"}—아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
build
PageView wrapper supporting Hero-like animations
img/example
Create a Coast with a number of Beaches and add a CrabController as observer
to the Coast. Wrap a widget that you want to animate between beaches with a
Crab widget with the same tag.
class CoastExampleApp extends StatefulWidget {
@override
_CoastExampleAppState createState() => _CoastExampleAppState();
}
class _CoastExampleAppState extends State<CoastExampleApp> {
final _beaches = [
Beach(builder: (context) => Cadzand()),
Beach(builder: (context) => Westkapelle()),
Beach(builder: (context) => Zoutelande()),
];
final _coastController = CoastController();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Coast(
beaches: _beaches,
controller: _coastController,
observers: [
CrabController(),
],
),
);
}
}
class Cadzand extends StatelessWidget {
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text("Cadzand"),
backgroundColor: Colors.deepOrange,
),
body: Stack(
children: [
Positioned(
top: 40,
left: 40,
child: Crab(
tag: "container",
child: Container(
color: Colors.green,
width: 80,
height: 60,
),
),
),
],
),
);
}
class Westkapelle extends StatelessWidget {
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text("Westkapelle"),
backgroundColor: Colors.amber,
),
body: Stack(
children: [
Positioned(
top: 80,
right: 40,
child: Crab(
tag: "container",
child: Container(
color: Colors.green,
width: 200,
height: 100,
),
),
),
],
),
);
}
class Zoutelande extends StatelessWidget {
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text("Zoutelande"),
backgroundColor: Colors.deepPurple,
),
body: Stack(
children: [
Positioned(
bottom: 40,
left: 20,
child: Crab(
tag: "container",
child: Container(
color: Colors.green,
width: 100,
height: 200,
),
),
),
],
),
);
}