Flutter入门:如何只关闭自身页面
生活随笔
收集整理的這篇文章主要介紹了
Flutter入门:如何只关闭自身页面
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
flutter的路由管理很方便,push和pop就可以了,但是pop只能關(guān)閉棧頂?shù)捻撁?#xff0c;在某些需求中就顯得力不從心了。
比如我們有一個(gè)倒計(jì)時(shí)彈窗(flutter中彈窗其實(shí)也是頁面),倒計(jì)時(shí)結(jié)束后關(guān)閉。但是在彈出倒計(jì)時(shí)后,我們又彈出另外一個(gè)彈窗,這時(shí)候如果倒計(jì)時(shí)結(jié)束調(diào)用pop,只會(huì)將新的彈窗關(guān)閉,而倒計(jì)時(shí)彈窗則無法關(guān)閉了。
所以我們希望倒計(jì)時(shí)彈窗關(guān)閉自身,而不影響棧中其他頁面。所以不能直接使用pop,而是用removeRoute,代碼如下:
Navigator.of(context).removeRoute(ModalRoute.of(context));這樣就會(huì)關(guān)閉自身頁面。
flutter的Navigator提供了更多樣的路由操作,如下:
removeRouteBelow(Route<dynamic> anchorRoute) //移除anchorRoute下面的那一個(gè)頁面 popUntil(RoutePredicate predicate) //會(huì)一直pop頁面,直到predicate返回true 當(dāng)然push和replace也有類似的操作,這里就不細(xì)說了。關(guān)注公眾號(hào):BennuCTech,獲取更多干貨!
總結(jié)
以上是生活随笔為你收集整理的Flutter入门:如何只关闭自身页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决No version of NDK
- 下一篇: Flutter Web:Shadow R