頁面跳轉是構建應用程序的重要部分之一,用於將用戶引導到不同的畫面或執行特定的操作
跳轉到新頁面
使用Navigator.push
,下列程式碼使用MaterialPageRoute
來定義要跳轉的目標頁面(SecondScreen)
Navigator.push(
context,
new MaterialPageRoute(builder: (context)=> new SecondScreen())
);
返回上一頁
使用 Navigator.pop
Navigator.pop(context);
<完整程式碼練習> 創建兩個頁面,其中各寫入一個按鈕,分別可觸發跳轉至其他頁的動作
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(
home: new FirstScreen()
));
}
//第一個頁面
class FirstScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("頁面跳轉學習"),
),
body: new Center(
child: new ElevatedButton(
child: new Text('去第二頁'),
onPressed: (){
Navigator.push(
context,
new MaterialPageRoute(builder: (context)=> new SecondScreen())
);
},
)
),
),
);
}
}
//第二個頁面
class SecondScreen extends StatelessWidget{
@override
Widget build(BuildContext context){
return new Scaffold(
appBar: AppBar(
title: Text("頁面跳轉學習"),
),
body: new Center(
child: new ElevatedButton(
onPressed: (){
Navigator.pop(context);
},
child: new Text ('返回第一頁'),
)
),
);
}
}
執行結果於連結中的影片
https://imgur.com/a/L7DWMLg
MaterialPageRoute
:用於創建基於 Material Design 樣式的頁面跳轉效果,可自定義過渡效果Navigator.pop
:用於返回頁面