์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ํ๋ค์ค๊ณต๋ถ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Android
- streamlit
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์น๋์๋ณด๋ ์ ์
- RESTful API
- Streamlit๊ธฐ์ด
- Streamlit๊ธฐ๋ณธ
- serverless
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ํ์ด์ฌ๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ
- ์๋ฐ
- Pandas
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- JavaScript
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- MySQL
- db
- Flutter
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- java
- ์๋ฐ๊ณต๋ถ
- ํ๋ค์ค
- ํ์ด์ฌ
- ์๋ฐ๊ธฐ์ด
- ์๋ฐ์ด๋ณด
- Today
- Total
ruriruriya
[Flutter] ๊ธฐ๋ณธ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ Scaffold ์์ ฏ ๋ณธ๋ฌธ
[Flutter] ๊ธฐ๋ณธ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ Scaffold ์์ ฏ
๋ฃจ๋ฆฌ์ผใ 2025. 1. 20. 23:16
ํ๋ฌํฐ์์ Scaffold ์์ ฏ์ ์ฑ์ ํ๋ฉด ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ์ ์ธ ํ์ ์ ๊ณตํ๋ค.
๋ชจ๋ ํ๋ฌํฐ ์ฑ์ ํ๋ฉด์ ๋ณดํต Scaffold ์์ ฏ์ผ๋ก ์์๋๋ค.
Scaffold๋ AppBar, body, FloatingActionButton ๋ฑ์ ํฌํจํ
ํ๋ฌํฐ์ Material Design ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ผ ๊ธฐ๋ณธ UI ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ค.
Scaffold๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ธฐ๋ณธ ๋ ์ด์์์ ๋น ๋ฅด๊ฒ ์ค๊ณํ ์ ์๊ณ , Material Design ์คํ์ผ ๊ฐ์ด๋๊ฐ ๊ธฐ๋ณธ ์คํ์ผ์ ์ ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊น๋ํ๊ฒ ์ ์ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ , body ์์ญ์ ์ํ๋ ๋ชจ๋ ์์ ฏ์ ๋ฐฐ์นํ์ฌ ๋ณต์กํ ๋ ์ด์์ ์ค๊ณ๋ ๊ฐ๋ฅํ๋ค.
Scaffold ์ฃผ์ ์์ฑ
1. appBar
ํ๋ฉด ์๋จ์ ๋ํ๋๋ AppBar ์์ญ.
์ ๋ชฉ, ๋ฒํผ, ๋ฉ๋ด ๋ฑ์ ํฌํจํ ์ ์๋ค.
Scaffold(
appBar: AppBar(
title: Text('์ฑ๋ฐ ์ ๋ชฉ'),
),
)
2. body
ํ๋ฉด์ ์ฃผ์ ์ฝํ
์ธ ๋ฅผ ๋ฐฐ์นํ๋ ์์ญ์ด๋ค.
๋ณธ๋ฌธ์ ํ์ํ UI์์ ฏ์ ์ฌ๊ธฐ์ ์ถ๊ฐํ๋ค.
Scaffold(
body: Center(
child: Text('Scaffold ๋ณธ๋ฌธ ์ฝํ
์ธ '),
),
)
3. floatingActionButton
ํ๋ฉด ํ๋จ ์ค๋ฅธ์ชฝ์ ๋ํ๋๋ ๋ฒํผ์ด๋ค.
์ฃผ๋ก ์ฌ์ฉ์๊ฐ ์์ฃผ ๋๋ฅด๊ฒ ๋ ์ฃผ์ ๋์์ ์ํํ๋ ๋ฒํผ์ด๋ค.
Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {
print('FAB ํด๋ฆญ');
},
child: Icon(Icons.add),
),
)
4. drawer
ํ๋ฉด ์ผ์ชฝ์ ๋ํ๋๋ Drawer.
๋ฉ๋ด๋ฅผ ์ด ์ ์๋ ์ฌ์ด๋๋ฐ.
Scaffold(
drawer: Drawer(
child: ListView(
children: [
DrawerHeader(
child: Text('๋๋ก์ด ํค๋'),
),
ListTile(
title: Text('ํญ๋ชฉ 1'),
onTap: () {},
),
],
),
),
)
5. bottomNavigationBar
ํ๋ฉด ํ๋จ์ ๊ณ ์ ๋ ํ๋จ ๋ด๋น๊ฒ์ด์
๋ฐ.
์ฌ๋ฌ ํ๋ฉด์ผ๋ก ์ด๋ํ ์ ์๋ ํญ์ด๋ ๋ฒํผ์ ํฌํจํ๋ค.
Scaffold(
bottomNavigationBar: BottomNavigationBar(
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'ํ'),
BottomNavigationBarItem(icon: Icon(Icons.search), label: '๊ฒ์'),
],
),
)
์์ ์ฝ๋
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: Scaffold(
appBar: AppBar(
title: Text('Scaffold ์์ '),
),
body: Center(
child: Text('Scaffold์ ๋ณธ๋ฌธ์
๋๋ค.'),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
print('ํ๋กํ
๋ฒํผ ํด๋ฆญ!');
},
child: Icon(Icons.add),
),
drawer: Drawer(
child: ListView(
children: [
DrawerHeader(
child: Text('๋๋ก์ด ํค๋'),
),
ListTile(
title: Text('ํญ๋ชฉ 1'),
onTap: () {},
),
],
),
),
bottomNavigationBar: BottomNavigationBar(
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'ํ'),
BottomNavigationBarItem(icon: Icon(Icons.search), label: '๊ฒ์'),
],
),
backgroundColor: Colors.grey[200],
),
);
}
}
'๐ฑFlutter > Flutter Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Flutter] build ๋ฉ์๋ (0) | 2025.01.17 |
---|---|
[Flutter] ์์ ฏ์ ๋ํด์(Widget) (0) | 2025.01.15 |
[Flutter] ์๋๋ก์ด๋ ์ค์ ํธ๋ํฐ ์ฐ๋ํ์ฌ ์ฌ์ฉํ๊ธฐ (0) | 2024.12.28 |
[Flutter] Xcode ์๋ฎฌ๋ ์ดํฐ ์ค์น - Unable to get list of installed Simulator runtimes. (2) | 2024.12.17 |