StatelessWidget : 상태 변화가 없어 화면을 새로고침 할 필요가 없는 위젯
- 화면 내 내용이 변하지 않는 위젯
class MyApp extends StatelessWidget {
MyApp();
Widget build(BuildContext context) {
return Text("hello");
}
}
StatefulWidget : 상태 변화가 있어 화면을 새로고침 할 필요가 있는 위젯
class MyApp extends StatefulWidget {
MyApp();
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
Widget build(BuildContext context) {
return Text("hello");
}
}
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondPage()),
);
Navigator.pop(context);
Column(
crossAxisAlignment: CrossAxisAlignment.start,
...
)
GestureDetector(
onTap: () {}, // 클릭 시 실행할 동작 선언
child: Row(
...
)
)
floatingActionButton: FloatingActionButton(
onPressed: () {},
backgroundColor: ...,
elevation: ...,
child: Icon(
...
),
),
bottomNavigationBar: BottomNavigationBar(
fixedColor: ...,
unselectedItemColor: ...,
showUnselectedLabels: true,
selectedFontSize: ...,
unselectedFontSize: ...,
iconSize: ...,
type: BottomNavigationBarType.fixed,
items: [
BottomNavigationBarItem(
icon: ...,
label: ...,
backgroundColor: ...
),
...
],
currentIndex: 0 // 현재 index
)