인공지능 공부/Flutter

플러터 다트(dart) 네비게이터(Navigator) 와 푸시네임드 메소드(pushNamed method)(2022.04.28)

import 'package:flutter/material.dart';
import 'package:contrainer/ScreenA.dart';
import 'package:contrainer/ScreenB.dart';
import 'package:contrainer/ScreenC.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: "/",
      routes: {
        "/" : (context) => ScreenA(),
        '/b' : (context) => ScreenB(),
        '/c' : (context) => ScreenC()
      },
    );
  }
}
import 'package:flutter/material.dart';

class ScreenA extends StatelessWidget {
  const ScreenA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("ScreenA"),
      ),

      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center, // 정가운데 배치
          children: <Widget>[
            RaisedButton(
              color: Colors.red,
              child: Text("Go To ScreenB"),
              onPressed: (){
                Navigator.pushNamed(context, "/b");
              },
            ),
            RaisedButton(
              color: Colors.red,
              child: Text("Go To ScreenC"),
              onPressed: (){
                Navigator.pushNamed(context, "/c");
              },
            )
          ],
        ),
      ),
    );
  }
}
import 'package:flutter/material.dart';

class ScreenB extends StatelessWidget {
  const ScreenB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("ScreenB")
      ),
      body: Center(
        child: Text("ScreenB", style: TextStyle(
          fontSize: 24.0
        ),)

      ),
    );
  }
}
import 'package:flutter/material.dart';

class ScreenC extends StatelessWidget {
  const ScreenC({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
          title: Text("ScreenC")
      ),
      body: Center(
          child: Text("ScreenC", style: TextStyle(
              fontSize: 24.0
          ),)

      ),
    );
  }
}