Flutter 從當前頁面進入一個新的頁面並返回
在原來的Android開發中,頁面之間的導航是通過Active或者Fragmentt來實現的。而在Flutter中,秉承著一切都是widget的理念,頁面當然也可以看成是一個widget,而頁面切換是通過路由Route來實現的,通過Navigator路由管理器進行推入路由和退出路由實現頁面切換。
專案說明:首頁中間有個按鈕,點選後進入一個新的頁面,新頁面同樣有個按鈕點選後返回。
下面擼碼:
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new MaterialApp(
title: 'Navigator Demon',
home: new MyHomePage(
title: '第一個頁面',
),
);
}
}
/*
這是首頁面,包含一個IOS風格的按鈕,點選該按鈕可以導航到第二個頁面
*/
class MyHomePage extends StatelessWidget {
const MyHomePage({Key key, this.title}) : super(key: key);
final title;
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(title),
),
body: new Center(
//這是一個IOS風格材質的按鈕,需要匯入cupertino檔案才能引用
child: new CupertinoButton(
color: Colors.blue,
child: new Text('進入第二個頁面'),
onPressed: () {
Navigator.push(
context,
new MaterialPageRoute(
builder: (context) => new SecondePage(
title: '第二個頁面',
)
)
);
}
)
),
);
}
}
/*
這是第二個頁面,包含一個返回的按鈕
*/
class SecondePage extends StatelessWidget {
const SecondePage({Key key, this.title}) : super(key: key);
final title;
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: new AppBar(
title: new Text(title),
),
body: new Center(
//這是一個IOS風格材質的按鈕,需要匯入cupertino檔案才能引用
child: new CupertinoButton(
color: Colors.blue,
child: new Text('返回第一個頁面'),
onPressed: () {
Navigator.pop(context);
}
),
),
);
}
}
效果如下:
點選按鈕進入下一個頁面,點選返回回到第一個頁面。
相關文章
- vue從其他頁面返回保持上一頁的狀態Vue
- SpringBoot在controller返回一個HTML頁面Spring BootControllerHTML
- js進入詳情頁再返回到上一個列表頁面時怎麼能讓原來頁面資料不變JS
- 從 URL 到頁面返回的過程?
- vue重新整理當前頁面或者當前元件Vue元件
- vue返回上一頁面如果沒有上一頁面返回首頁Vue
- 微信內關閉當前頁面
- 當使用者開啟一個網頁時,想一直停留在當前開啟的頁面,如何禁止頁面前進和後退網頁
- 用Flutter 寫一個簡單頁面Flutter
- 使用Flutter設計一個好看的"我"頁面Flutter
- js 進入頁面載入的方法JS
- 如何使用jquery重新整理當前頁面jQuery
- 一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼
- 一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?
- 面試之 一個頁面從輸入url到頁面載入顯示完成,中間都經歷了什麼面試
- Flutter 入門與實戰(九):開發一個常用的登入頁面Flutter
- 社群 - 所有節點,進入節點頁面返回中間頁顯示蒙層
- 第一個頁面
- 使用Vue寫一個登入頁面Vue
- 用FishRedux完成一個登入頁面Redux
- Flutter入門與實戰(三):構建一個常用的頁面框架Flutter框架
- 帝國CMS利用PHP判斷當前頁面是否為首頁PHP
- Vue重新整理當前頁面幾種方式Vue
- NA嵌入Flutter頁面Flutter
- Flutter頁面跳轉Flutter
- Vue實現一個頁面快取、左滑返回的navigatorVue快取
- 一段簡單的顯示當前頁面FPS的程式碼
- Flutter頁面保活及保持頁面跳轉位置Flutter
- weex生成的單頁應用嵌入app中,點選物理返回鍵時如何返回上一個路由頁面,而不是直接退出單頁應用,回到原生app頁面APP路由
- flutter 使用Bloc和refresh 進行搭建頁面FlutterBloC
- Android 網頁開啟App進入對應頁面Android網頁APP
- 在 Laravel 6.0 中使用 pjax 進行頁面加速,並實現頁面頂部進度條Laravel
- 使用 xpath 爬取當前頁面所有城市名稱
- PbootCMS模板自動生成當前頁面二維碼boot
- 登入頁面
- 漸進式配置webpack4單頁面和多頁面(一)Web
- 使用javaURL從介面頁面中獲得返回值Java
- 簡單的網頁登入頁面網頁