PageRouteBuilderとNavigatorState.pushReplacementを使用して 'グリーティングページ' と、あなたの家の間の遷移の完全なコード:
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(
home: new Greeting(),
));
}
class Greeting extends StatefulWidget {
@override
_GreetingState createState() => new _GreetingState();
}
class _GreetingState extends State<Greeting> {
@override
initState() {
super.initState();
new Timer(const Duration(seconds: 5), onClose);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Align(
alignment: FractionalOffset.center,
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(
"Hello you !",
style: Theme.of(context).textTheme.display1,
),
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text("Here's a unicorn for your"),
new Image.network(
"https://i.pinimg.com/736x/3b/06/ef/3b06efe25fed62de2960090ff2b8d83a--cute-cartoon-drawings-drawings-of.jpg",
height: 42.0,
width: 42.0,
),
],
)
],
)),
);
}
void onClose() {
Navigator.of(context).pushReplacement(new PageRouteBuilder(
maintainState: true,
opaque: true,
pageBuilder: (context, _, __) => new Home(),
transitionDuration: const Duration(seconds: 2),
transitionsBuilder: (context, anim1, anim2, child) {
return new FadeTransition(
child: child,
opacity: anim1,
);
}));
}
}
class Home extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
backgroundColor: Colors.pink,
title: new Text("Home"),
),
);
}
}
で構成されます。 – aziza