์ฐธ๊ณ ์ฌ์ดํธ
โ ์ฝ๋ฉ์ ํ์ flutter-basic-layout-design
๋ด๊ฐ ์ข์ํ๋ ๊ฐ๋ฐ์ ์ ํ๋ฒ
๐ Scaffold
์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์ฑ์ ๋์์ธ์ ํฌ๊ฒ ์๋จ, ์ค๋จ, ํ๋จ๋ถ๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ด๊ฑธ ์ฝ๊ฒ ๊ตฌ์ฑํ๊ณ ์ถ์ผ๋ฉด Scaffold() ์์ ฏ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๐ท๐ป ๊ตฌ์กฐ
MaterialApp(
home: Scaffold(
appBar: // ์๋จ์ ๋ฃ์ ์์ ฏ,
body: // ์ค๋จ์ ๋ฃ์ ์์ ฏ,
bottomNavigationBar: // ํ๋จ์ ๋ฃ์ ์์ ฏ,
)
);
Scaffold() ์์ ฏ์ 3๊ฐ์ ํ๋ผ๋ฏธํฐ(appBar, body, bottomNavigationBar)๋ฅผ ํตํด ์/์ค/ํ๋ก ๋๋๊ฒ ํด์ค๋ค.
appBar(์๋จ), bottomNavigationBar(ํ๋จ)์ ํ์๊ฐ ์๋๊ณ body(์ค๋จ)์ ํ์์ด๋ค.
๐ป Code
class _MyHomePageState extends State<MyHomePage> {
var _index = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("์๋จ"),
),
body: Center(child: Text('์ค๋จ')),
bottomNavigationBar: BottomNavigationBar(
currentIndex: _index,
onTap: (value) {
setState(() {
_index = value;
});
},
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'home'),
BottomNavigationBarItem(
icon: Icon(Icons.account_circle_rounded), label: 'myPage'),
BottomNavigationBarItem(icon: Icon(Icons.menu), label: 'menu'),
]),
);
}
}
์ฝ๋๋ฅผ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค.
'Framework > Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Flutter ] Widget์ ๋ํด ์์๋ณด์. (0) | 2024.04.13 |
---|---|
[ Flutter ] ๊ฐ๋ฐํ๊ฒฝ ์ค์ ํ๊ธฐ (macOS) (0) | 2024.04.10 |