人人做人人干-人人做人人看-人人做人人爽国产视-人人做人人爽人人爱-色屋视频-色屋网

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

網站百科

為您解碼網站建設的點點滴滴

flutter頁面間跳轉和銷毀

發表日期:2018-11 文章編輯:小燈 瀏覽次數:10939

flutter頁面間的跳轉有兩種方式,一種動態構建路由的方式,一種提前命名路由的方式。

構建路由方式

push方法:直接跳轉到下個頁面,可以傳遞參數

Navigator.of(context).push(

? ? new MaterialPageRoute(builder: (BuildContext context) {

//TextWdigetPage要跳轉的頁面

//title要傳遞的參數

? ? ? return TextWdigetPage(title: "傳遞的參數");

? ? }))

),

或者

Navigator.push(context,

? ? new MaterialPageRoute(builder: (BuildContext context) {

? ? ? return TextWdigetPage(title: "傳遞的參數");

? ? })

)

pushAndRemoveUntil方式:跳轉到下個頁面,并且銷毀當前頁面

//第一個小菜理解為上下文環境,

// 第二個參數為靜態注冊的對應的頁面名稱,

// 第三個參數為跳轉后的操作,route == null 為銷毀當前頁面

Navigator.pushAndRemoveUntil(context,

? ? new MaterialPageRoute(builder: (BuildContext context) {

? ? ? return TextWdigetPage(title: "傳遞的參數");

? ? }), (route) => route == null

)

提前命名路由

不能傳遞參數,只能在mian.dart里面寫死要跳轉的路由協議

@override

Widget build(BuildContext context) {

? return MaterialApp(

? ? title: "flutter學習",

? ? home: Scaffold(

? ? ? appBar: AppBar(title: Text("flutter學習"),),

? ? ? body: ListView.builder(

? ? ? ? ? itemCount: list.length,

? ? ? ? ? itemBuilder: (context, position) {

? ? ? ? ? ? return HomeListItem(position, list[position], (index) =>

? ? ? ? ? ? ? ? Navigator.push(context,

? ? ? ? ? ? ? ? ? ? new MaterialPageRoute(builder: (BuildContext context) {

? ? ? ? ? ? ? ? ? ? ? return pageList[index];

? ? ? ? ? ? ? ? ? ? }))

? ? ? ? ? ? );

? ? ? ? ? }),

? ? ),

? ? //不能傳遞參數,必須在main里面注冊

? ? routes: {

? ? ? "listview_builder_page": (BuildContext context) =>

? ? ? new ListView_Builder_Page(),

? ? ? "listview_separated_page": (BuildContext context) =>

? ? ? new ListView_Separated_Page(),

? ? },

? );

}

調用時可以用以下方式:

Navigator.pushNamed(context, "listview_builder_page")

或者

Navigator.pushNamedAndRemoveUntil(

? ? context, "listview_builder_page", (router) => router == null)

),

頁面的銷毀:

//構建路由

//一個參數,為上下文環境,銷毀當前頁面

Navigator.pop(context);

//一個參數,第一個為上下文環境,第二個為要攜帶的參數,銷毀當前頁面

Navigator.pop(context, "攜帶參數");

//命名路由

Navigator.popAndPushNamed(context, 'listview_builder_page');

接收路由返回的參數:

//構建路由

Navigator.push(context,

? ? new MaterialPageRoute(builder: (BuildContext context) {

? ? ? return TextWdigetPage(title: "傳遞的參數");

? ? })

).then((Object result) {

? ??? print("返回值:${result.toString()}");

})

Navigator.pushAndRemoveUntil(context,

? ? new MaterialPageRoute(builder: (BuildContext context) {

? ? ? return TextWdigetPage(title: "傳遞的參數");

? ? }), (route) => route == null

).then((Object result) {

???? print("返回值:${result.toString()}");

})

命名路由

Navigator.pushNamed(context, "listview_builder_page").then((Object result) {

?????? print("返回值:${result.toString()}");

})



練習demo,鏈接https://gitee.com/xgljh/Flutter


本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.kwpm.com.cn/17571.html
相關APP開發
 八年  行業經驗

多一份參考,總有益處

聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:余經理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

主站蜘蛛池模板: 亚洲日韩aⅴ在线视频 | 国产精品v欧美精品v日韩精品 | 国产 日韩 欧美 在线 | 亚洲大香人伊一本线 | 色在线免费视频 | 欧美日韩一区二区三区四区 | 国产成人精品曰本亚洲77美色 | 一本一道dvd在线播放器 | 制服丝袜第一页在线观看 | 人人干日日操 | 午夜大片网| 欧美日本视频在线观看 | 五月天综合婷婷 | 日韩在线三级 | 国产欧美一区二区三区久久 | 日日拍夜夜嗷嗷叫视频 | 狠狠燥 | 91精品国产91热久久p | a级黄色影片 | 日韩精品免费在线观看 | 国产精品七七在线播放 | 国产精品成人观看视频免费 | 成年人免费毛片 | 色狠狠狠色噜噜噜综合网 | 伊人精品国产 | a级免费片| 免费观看一级欧美在线视频 | 色五丁香| 天天看黄色片 | 日韩精品福利 | 91在线 | 亚洲 | 亚洲无限码| 亚洲欧美高清视频 | 免费人成在线看 | 男女乱淫真视频免费一级毛片 | 欧美日韩一级黄色片 | 大片免费观看在线视频 | 欧美激情精品久久久久久久 | 国产成人网| 羞羞视频免费网站com | 日本韩国三级在线观看 |