Open name27 opened 1 year ago
MaterialApp은 따로 빼놓고 최상단 위젯이 Scaffold(다른 페이지 라우팅하려면)인 페이지들을 연결 Scaffold 단위를 Page로 생각 페이지를 하나 더 만든다면 Scaffold를 최상위로 올림 Routing하는 방법은 Navigation 활용
Navigation
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: SecondPage(), ); } } class FirstPage extends StatelessWidget { const FirstPage({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( automaticallyImplyLeading: false, //기본값 true 자동 뒤로가기 버튼 ), body: TextButton( onPressed: (){ Navigator.pop(context); }, child: Text('A') ), ); } } class SecondPage extends StatelessWidget { const SecondPage({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.amber, ), body: Text('B'), floatingActionButton: FloatingActionButton( onPressed: (){ Navigator.push( context, //context - 현재 위젯 상태 MaterialPageRoute(builder: (context) => FirstPage()), ); } ), ); } }
MaterialApp은 따로 빼놓고 최상단 위젯이 Scaffold(다른 페이지 라우팅하려면)인 페이지들을 연결 Scaffold 단위를 Page로 생각 페이지를 하나 더 만든다면 Scaffold를 최상위로 올림 Routing하는 방법은 Navigation 활용
Navigation