화면 전환 네비게이션은, 버튼이나 요소를 통해 다른 화면으로 이동해야 할때 사용하는 기능이다. 이번 실습에서는 버튼을 이용해서 실습 용도로 만들어 뒀던 다른 위젯으로 넘어가는 실습을 진행해보자.
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton:
FloatingActionButton(
child : Icon(Icons.add),
onPressed : _changeMessage),
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child : Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(_message, style: TextStyle(fontSize: 30)),
Text('$_counter', style: TextStyle(fontSize: 30)),
ElevatedButton(onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => CupertinoPage())
);
}, child: Text('화면 이동')),
],
)
));
버튼을 추가하고, 동작을 구성하기 위해 build 부분만 변경하였으므로, 여기서 변경된 부분을 구현 순서대로 하나하나 뜯어서 각자가 어떤 기능을 하는지 알아보도록 하겠다.
ElevatedButton(onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => CupertinoPage())
);
}, child: Text('화면 이동')),
ElevatedButton?
용자가 누를 수 있는 높은 고도를 갖는 버튼 위젯이다. 이 버튼은 일반적으로 사용자에게 중요한 동작 또는 액션을 수행할 수 있는 UI 요소로 사용용된다. "ElevatedButton"은 Material Design에서 정의된 디자인 가이드라인에 따라 생성된다.
결과적으로 이런 화면 이동이 일어나게 되며, 뒤로가기 버튼도 함께 생성되는 것을 알 수 있다.