一区二区三区欧美日韩-一区二区三区欧美-一区二区三区免费在线视频-一区二区三区免费在线观看-久久精品店-久久精品第一页

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

網站百科

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

flutter頁面間跳轉和銷毀

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

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.junxiaosheng.cn/17571.html
相關APP開發
 八年  行業經驗

多一份參考,總有益處

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

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

業務熱線:余經理:13699882642

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

主站蜘蛛池模板: 暖暖日本免费播放| 伦理片天堂eeuss影院| 蕾丝边娱乐网| 日韩精品欧美在线视频在线 | 亚洲男女羞羞无遮挡久久丫| 中文字幕日本一区| 国产成人自拍视频在线观看 | 久久视热频这里只精品| 人和拘一级毛片| 在线观看国产人视频免费中国| 成人精品亚洲| 久久综合香蕉久久久久久久| 色狠狠色狠狠综合天天| 中国女人hd| 国产精品亚洲高清一区二区| 美女挑战50厘米长的黑人| 午夜影院视费x看| JIZZ学生13| 久久99国产视频| 天天躁夜夜踩很很踩2022| 40分钟超爽大片黄| 含羞草在线免费观看| 翘臀后进美女白嫩屁股视频| 亚洲欭美日韩颜射在线二| 成 人 动漫3d 在线看| 久久综合久久伊人| 久久性综合亚洲精品电影网| 闺蜜扒开我尿口使劲揉| 精品国产免费人成视频| 午夜射精日本三级| 姑娘视频日本在线播放| 日本无码欧美激情在线视频| 99视频在线免费看| 女人高潮被爽到呻吟在线观看| 中文字幕永久在线观看| 最新国产在线视频在线| 久久香蕉国产免费天天| 寂寞夜晚看免费视频| 性生片30分钟| 国产美女视频一区二区二三区| 神马电影dy888午夜我不卡|