去年推出法法註解路由以後 經(pian)過(lai)幾個工具人維護,版本已經來到2.0,功能比較齊全穩定。git
沒有使用或者瞭解過法法註解路由,請看以前的文章Flutter 法法路由註解,下面講的是2.0的加強功能。github
做爲一個工具,命令太長,一直是你們吐槽的問題之一,從全稱ff_annotation_route
改爲了 ff_route
。改動很簡單,將下圖代碼改成 ff_route
便可。markdown
ff_route -h
或者 ff_route --help
查看所有命令模塊化
不少人問過,法法路由支持Flutter_Boost嗎,個人答案是確定。demo傳送門工具
初始化一共有2個地方:post
使用FlutterBoost.singleton.open
打開Flutter頁面將觸發下面代碼。 原生跳轉flutter動畫只能原生決定。動畫
///native=>flutter
FlutterBoost.singleton.registerDefaultPageBuilder(
(String pageName, Map params, String uniqueId) {
final routeResult = getRouteResult(
name: pageName,
arguments: params?.map(
(key, value) => MapEntry<String, dynamic>(key.toString(), value)),
);
return routeResult.widget ?? NoRouteWiget();
});
複製代碼
使用Navigator.of(context).pushNamed
打開Flutter頁面將觸發下面代碼, 動畫爲PageRoute決定ui
///flutter=>flutter
onGenerateRoute: (settings) => onGenerateRouteHelper(
settings,
notFoundFallback: NoRouteWiget(),
),
複製代碼
1.利用builder回調重寫MaterialApp中默認的Navigatorspa
return MaterialApp(
title: 'Flutter Boost example',
builder: FlutterBoost.init(postPush: _onRoutePushed),
複製代碼
2.每當使用FlutterBoost.singleton.open
從原生跳轉flutter的時候,將在flutter端利用Overlay插入一個新的Navigator設計
3.Navigator.of(context).pushNamed
將在頂層Navigator中跳轉
工具就是了方便,就算是有幫助命令,每次生成的時候看一下也是很麻煩,並且項目的命令應該是不變的。因而提供了一個新的命令-s
或者--save
只須要咱們在第一次執行命令的時候帶上-s
或者--save
,命令將會保存到本地。
下一次咱們只須要執行ff_route
便可。
原本設計爲只掃描本地引用的目錄,後來有用戶提到作模塊化,會以git方法引用一些私有git庫。
執行-g, --git package1,package2
,後面跟的是你git庫的名字,好比
extended_image的demo中引用了flutter_candies_demo_library
那麼咱們在使用的時候只須要加上--git flutter_candies_demo_library
便可。
上面說了可能以git方式引用私有git庫,這種狀況下,私有的git package就須要單獨進行執行命令,生產對應法法路由的文件。
好比flutter_candies_demo_library做爲糖果demo的基礎庫,以git方式引用,其中PicSwiper做爲一個全屏查看圖片的頁面被各個demo使用。
執行命令ff_route --package
命令 | 描述 |
---|---|
-na, --no-arguments | FFRouteSettings 將沒有arguments這個參數,這個是主要是爲了適配Flutter低版本 |
--no-is-initial-route | FFRouteSettings 將沒有isInitialRoute這個參數,這個是主要是爲了適配Flutter高版本 |
期待更多的工具人的加入,互爲工具,永不寂寞。
最後放上 ff_annotation_route,歡迎加入Flutter Candies,一塊兒生產可愛的Flutter 小糖果(QQ羣:181398081)
最最後放上Flutter Candies全家桶,真香。