Skip to content
Half Stack edited this page May 8, 2017 · 14 revisions

使用前,需要初始化,建议放到Application中做:

if(debug) {
    Router.setDebuggable(true);
}
Router.initialize(this);

所有可用API参考IRouter.

Router.build(uri)是路由的入口,一切页面跳转皆是从此开始。

  1. Router.build(uri).callback(callback)。为当前路由添加回调,不管成功失败都会通知,参见RouteCallback,也可以在go中传入callback。
  2. Router.build(uri).requestCode(int)。添加了requestCode即表示要调用startActivityForResult,requestCode >= 0。
  3. Router.build(uri).with(...)。为路由添加参数,即Intent携带Bundle
  4. Router.build(uri).addFlags(flags)。添加标记,类似intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
  5. Router.build(uri).anim(enter, exit)。添加基础跳转动画。
  6. Router.build(uri).skipInterceptors()。跳过拦截器,即绿色通道。
  7. Router.build(uri).activityOptions(options)。添加转场动画。
  8. Router.build(uri).getFragment(context)。获取注解对应的fragment。
  9. Router.build(uri).getIntent(context)。获取注解对应的Intent。
  10. ...

最后调用Router.build(uri).go(context/fragment)即可完成路由动作。注意,如果是在Activity中调用,最好传入当前的Activity,如果是在Fragment中调用,就传入当前的fragment。

Clone this wiki locally