// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; class Home extends StatelessComponent { Widget build(BuildContext context) { return new Container( padding: const EdgeDims.all(30.0), decoration: new BoxDecoration(backgroundColor: const Color(0xFFCCCCCC)), child: new Column([ new Text("You are at home"), new RaisedButton( child: new Text('GO SHOPPING'), onPressed: () => Navigator.of(context).pushNamed('/shopping') ), new RaisedButton( child: new Text('START ADVENTURE'), onPressed: () => Navigator.of(context).pushNamed('/adventure') )], justifyContent: FlexJustifyContent.center ) ); } } class Shopping extends StatelessComponent { Widget build(BuildContext context) { return new Container( padding: const EdgeDims.all(20.0), decoration: new BoxDecoration(backgroundColor: const Color(0xFFBF5FFF)), child: new Column([ new Text("Village Shop"), new RaisedButton( child: new Text('RETURN HOME'), onPressed: () => Navigator.of(context).pop() ), new RaisedButton( child: new Text('GO TO DUNGEON'), onPressed: () => Navigator.of(context).pushNamed('/adventure') )], justifyContent: FlexJustifyContent.center ) ); } } class Adventure extends StatelessComponent { Widget build(BuildContext context) { return new Container( padding: const EdgeDims.all(20.0), decoration: new BoxDecoration(backgroundColor: const Color(0xFFDC143C)), child: new Column([ new Text("Monster's Lair"), new RaisedButton( child: new Text('RUN!!!'), onPressed: () => Navigator.of(context).pop() )], justifyContent: FlexJustifyContent.center ) ); } } final Map routes = { '/': (_) => new Home(), '/shopping': (_) => new Shopping(), '/adventure': (_) => new Adventure(), }; final ThemeData theme = new ThemeData( brightness: ThemeBrightness.light, primarySwatch: Colors.purple ); void main() { runApp(new MaterialApp( title: 'Navigation Example', theme: theme, routes: routes )); }