43.【AppleMusicクローン】セクション2 のレイアウトをListView を使って実装する
tamappe Tamappe Life Log

Flutterでの画面遷移の実装方法について。
MaterialAppにinitialRouteとroutesのプロパティがあるのでそれらを使うと画面遷移を作れます。
まるでWebでいうところのルーティング処理ですね。
initialRouteには初期表示時の画面のパスを指定します。
 routesには画面ごとにパスを指定します。
例えば
main.dart
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: '/start',
      routes: <String, WidgetBuilder> {
        '/start': (BuildContext context) => Sample1Page(),
        '/play': (BuildContext context) => Sample2Page(),
      },
      title: '画面遷移のサンプル',
    );
  }
}
class Sample1Page extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}
class Sample2Page extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}とします。
こうすると
 /start ではSample1Page
 /play ではSample2Page
のウィジェットに画面遷移することを宣言します。
実際にボタンをタップして画面遷移させたいときには
Navigator.push(
                context,
                new MaterialPageRoute<Null>(
                  settings: const RouteSettings(name: "/play"),
                  builder: (BuildContext context) => Sample2Page(),
                ),
              );という感じに Navigator.pushを叩けば画面遷移できます。
今日はこれだけです。
それでは、バイバイ。