【 Flutter 】Flutter を 基礎 から 学習 ( スタートガイド編 ) part21 画面遷移 Named Routes
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は スタートガイド編 ( part21 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( スタートガイド編 ) part20 画面遷移
今回はNamed Routesという手法で画面遷移を行います。
画面遷移
Named Routes
画面に名前を付けて遷移することもできます。
名前はルート
と呼ばれ、routes
というプロパティを使用します。
前回とのおおきな違いは以下の通り
home
プロパティではなくroutes
というプロパティを使用する- この二つは同時に定義できない
- 画面を呼び出す側について、前回は
push()
だったがpushNamed()
変更- と、ありますが試したところ
push()
でも動いてる気がします(笑 -
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), // home: MyHomePage(title: 'Flutter Demo Home Page'), initialRoute: '/', routes: { '/': (context) => FirstPage(), '/second': (context) => SecondPage(), }); } } class FirstPage extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('First Page')), body: Center( child: ElevatedButton( onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) { return SecondPage(); }), ); }, child: Text('Next Page'), ), ), ); } } class SecondPage extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Secnd Page')), body: Center( child: ElevatedButton( onPressed: () { Navigator.pop(context); }, child: Text('Go back'), ), ), ); } }
こんな感じです。
- と、ありますが試したところ
- ※値の渡し方
最後に
タイムアップ!
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません