Notice
Recent Posts
Recent Comments
Link
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
Tags
- php
- refectoring
- getMedia()
- Await
- μ€νλ₯΄νμ½λ©ν΄λ½
- Widget
- μ½λ©
- IOS
- κ΅λΉμ§μ
- μ€λ₯
- StatefulWidget
- app
- μΉλμμΈ
- shared_preference
- route
- μΉνΌλΈλ¦¬μ
- μ±
- μ μ΄μΏΌλ¦¬
- WebView
- λμμΈ
- StatelessWidget
- FLUTTER
- μνκ΄λ¦¬
- dart
- async
- μΉλμμ΄λ
- κ΅λΉμ§μκ°μ
- μ±κ°λ°
- Android
- μΉνΌλΈλ¦¬μ±
Archives
- Today
- Total
λλ±κ°λ° π¨
[μ€νλ₯΄νμ½λ©ν΄λ½] νλ¬ν°(Flutter)λ‘ μμνλ μ±κ°λ° μ’ ν©λ° - 2μ£Όμ°¨ κ°λ°μΌμ§ β λ³Έλ¬Έ
κ°λ°/π― Flutter
[μ€νλ₯΄νμ½λ©ν΄λ½] νλ¬ν°(Flutter)λ‘ μμνλ μ±κ°λ° μ’ ν©λ° - 2μ£Όμ°¨ κ°λ°μΌμ§ β
λλ±κ°λ°μ π§ 2023. 11. 12. 22:02λ°μν
1. Flutter Widget μ΄ν΄νκΈ°
1) StatelessWidget
νλ©΄ λ΄ λ΄μ©μ΄ λ³νμ§ μλ μμ ―(μλ‘κ³ μΉ¨ ν νμκ° μλ€)
class MyApp extends StatelessWidget { // statelessWidget μμ
const MyApp({Key? key}) : super(key: key); // μμ±μ
@override
Widget build(BuildContext context) { // build ν¨μ : νλ©΄μ 보μ¬μ€ μμ μμ ― λ°ν
return MaterialApp(
debugShowCheckedModeBanner: false,
home: FirstPage(),
);
}
}
* νλ©΄μ 보μ΄λ 첫 λ²μ§Έ μμ ―μ MaterialApp λλ CupertinoApp μμ ―μΌλ‘ μμ
2) StatefulWidget
νλ©΄ λ΄ λ΄μ©μ΄ λ³νλ μμ ―(μλ‘κ³ μΉ¨ ν νμκ° μλ€)
class MyApp extends StatefulWidget {
// μμ±μ
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
// MyAppμ μν(State)λ₯Ό λνλ΄λ ν΄λμ€
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) { // build ν¨μ
print("build νΈμΆ");
}
}
3) Navigation
Flutterμμλ κ° νλ©΄μ RouteλΌκ³ λΆλ₯΄λ©°, νλ©΄μ μ΄λν λ navigatorλ₯Ό μ¬μ©νλ€.
// λ€μ νμ΄μ§λ‘ μ΄λ
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondPage()),
);
// νμ¬ νλ©΄ μ’
λ£
Navigator.pop(context);
* νλ©΄μ΄ λ§μμ§λ κ²½μ°, named route λ°©μμ μ¬μ©νκΈ°λ νλ€.
2. νλ‘μ νΈ μ€λΉ
prefer_const_constructors: false
prefer_const_literals_to_create_immutables: false
-> νλ©΄μ λΆνμν λ΄μ© νμνμ§ μκΈ° (analysis_options.yaml)
3. λΉκ·Όλ§μΌ νλ©΄ λ§λ€κΈ°
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp( // μ±μ μμν λ, MeterialAppμΌλ‘ μ± μμ
debugShowCheckedModeBanner: false,
home: HomePage(), // homeμ΄λΌλ μ΄λ¦μ λ§€κ°λ³μμ 첫 λ²μ§Έ μμ ―μ λ§λ€μ΄ μ λ¬
);
}
}
λ μ΄μμ λλκΈ°
Rowμ Columnμ μ΄μ©ν΄μ μΉμ λ³λ‘ λλμ΄ ν° νλΆν° μμ
(Row, Column : μ¬λ¬ μμ ―μ κ°λ‘, μΈλ‘λ‘ λ°°μΉν μ μλλ‘ λ¬Άμ΄μ£Όλ μμ ―)
crossAxisAlignment μ€μ νκΈ°
MainAxisAlignment, CrossAxisAlignmentλ₯Ό μ€μ ν΄ Row, Column λ΄ μμλ€μ μ λ ¬
λ°μν