前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter自制插件之r_router无需context路由插件

Flutter自制插件之r_router无需context路由插件

作者头像
rhyme_lph
发布2020-02-18 14:41:44
6830
发布2020-02-18 14:41:44
举报
文章被收录于专栏:Flutter&Dart

r_router

一个无需使用context导航的Flutter路由插件,支持dialog .---------------------------------------------- | github地址: | https://github.com/rhymelph/r_router | pub地址: | https://pub.dev/packages/r_router `----------------------------------------------

1.开始使用.

  • pubspec.yaml文件添加依赖
代码语言:javascript
复制
dependencies:
  r_router: last version
  • 导入包
代码语言:javascript
复制
import 'package:r_router/r_router.dart';

2.简单使用

  • 注册路由
代码语言:javascript
复制
/// [path] 你的路由路径
/// [routerWidgetBuilder] 构建你的页面
/// [params] 你的参数,支持所有类型的值,类型为dynamic
/// [PageOne] 你的部件
RRouter.myRouter.addRouter(
    path: '/one',
    routerWidgetBuilder: (params) => PageOne(title:params["title"]),
  );
  • 添加你的路由到app
代码语言:javascript
复制
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      // add new
      onGenerateRoute: RRouter.myRouter.routerGenerate,
      navigatorObservers: [
        RRouter.myRouter.observer,
      ],
      // add new
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}
  • 导航到注册的页面
代码语言:javascript
复制
    RRouter.myRouter.navigateTo('/one', arguments: {'title': 'hello world!'});

3.注册路由

代码语言:javascript
复制
/// 注册未找到页面的路由
RRouter.myRouter.notFoundPage = (String path) => NoFoundPage(
        path: path,
      );

/// 注册带过渡动画的路由,默认为根据对应平台的过渡动画,ios:CupertinoPageRoute,android:MaterialPageRoute
RRouter.myRouter.addRouter(
      path: '/three',
      routerWidgetBuilder: (params) => PageThree(),
      routerPageBuilder: (RouteSettings setting, WidgetBuilder builder) =>
          CupertinoPageRoute(builder: builder, settings: setting))

4. 无需context的展示对话框方法

支持下面的方法

  • showRDialog
  • showRCupertinoDialog
  • showRCupertinoModalPopup
  • showRAboutDialog
  • showRMenu
  • showRTimePicker
  • showRGeneralDialog
  • showRDatePicker
  • showRSearch
  • showRModalBottomSheet
  • showRLicensePage

5.默认的路由器

你可以使用下面代码进行路由跳转

代码语言:javascript
复制
RRouter.navigator
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • r_router
    • 1.开始使用.
      • 2.简单使用
        • 3.注册路由
          • 4. 无需context的展示对话框方法
            • 5.默认的路由器
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档