์๋
ํ์ธ์ Foma ๐ ์
๋๋ค!
์ค๋์ ํ๋ฌํฐ์์ ๋ ํ๋ฉด(ScreenA์ ScreenB)์ ์๋ก ์ด๋ํ๊ณ ๋๋์์ค๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค!
๋ฐ๋ก ์์ํ ๊ฒ์~
ScreenA
ScreenA๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
import 'package:flutter/material.dart';
class ScreenA extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Screen A page"),
),
);
}
}
ScreenB
ScreenB๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
import 'package:flutter/material.dart';
class ScreenB extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Screen B page"),
),
);
}
}
ScreenA์์ ScreenB๋ก ์ด๋ํ๊ธฐ
ScreenA์์ ScreenB.dartํ์ผ์ import ํด์ค๋๋ค.
import 'ScreenB.dart';
Scaffold body์ ์๋์ ๊ฐ์ด ๋ฒํผ์ ๋ง๋ค์ด์ค๋๋ค.
Scaffold(
appBar: AppBar(
title: Text("Screen A page"),
),
body: Center(
child: ElevatedButton(
child: Text("Go to Main Page"),
),
),
);
๊ทธ๋ฆฌ๊ณค ๋ฒํผ์ ํด๋ฆญํ์ ๋ Navigator๋ฅผ pushํด์ฃผ๊ณ ์ด๋ค ์คํฌ๋ฆฐ์ผ๋ก ์ด๋ํ ์ง ์ ํด์ค๋๋ค.
ElevatedButton(
child: Text("Go to Screen B Page"),
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (_) => ScreenB()));
},
),
์๋์ ๊ฐ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด ScreenB ํ์ด์ง๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
ScreenB์์ ScreenA๋ก ๋๋์๊ฐ๊ธฐ
ScreenB๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฒํผ์ ๋ง๋ค์ด์ฃผ๊ณ ์ด๋ฒ์ ๋๋์๊ฐ๊ธฐ ์ํด Navigator์ ํ์ฌ context๋ฅผ pop ํด์ค๋๋ค.
body: Center(
child: ElevatedButton(
child: Text("Go to Screen A Page"),
onPressed: () {
Navigator.pop(context);
},
),
),
์๋์ ๊ฐ์ด ScreenB์์ ScreenB๋ก ๋๋์๊ฐ๊ฒ ๋ฉ๋๋ค.
์ค๋์ ์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ ํ๋ฉด ์ด๋ํ๋ ๋ฒ์ ๋ํด์ ์์๋ณด์๋๋ฐ์.
ํน์๋ผ๋ ํ๋ฆฐ ์ ์ด ์์ผ๋ฉด ์ง์ ํด์ฃผ์ธ์!
Referece
๋๊ธ