Для начала создадим пару экруанов между которыми будем перемещаться. Приведу код одного экрана. Для примера его хватит:
import 'package:flutter/material.dart';
class Screen1 extends StatelessWidget {
final Color color;
Screen1(this.color);
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Screen 1"),
backgroundColor: color
),
body: new Center(
child: new Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
new RaisedButton(onPressed:(){
button1(context);
} ,child: new Text("Go to Screen 2"),)
],
),
) ,
);
}
}
void button1(BuildContext context){
print("Button 1");
Navigator.of(context).pushNamed('/screen2');
}
Тут представлен код обычного класса, у которого есть свойство color, значением которого мы расскрашиваем навигационную панель.
Теперь в коде приложение надо добавить массив маршрутов:
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.red,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
routes: <String, WidgetBuilder> {
<span style="color: #008000; fon