Skip to content

开始使用

JingYeoh edited this page Dec 18, 2017 · 1 revision

How to use?

FragmentRigger不需要继承任何类,所有的操作都通过代理类Rigger来操纵/管理fragments.

添加Fragment/Activity的支持

在需要使用本框架的Activity/Fragment上添加@Puppet注解,但你项目的Fragment必须是android.support.v4.app.Fragment的子类,你的Activity也必须是android.support.v4.app.FragmentActivity的子类.

@Puppet
public class ExampleFragment extends Fragment
@Puppet(containerViewId = R.id.atyContent)
public class ExampleActivity extends AppCompatActivity

你可以在添加@Puppet注解的Fragment/Activity中使用本框架

如果你想要使用本框架,@puppet注解是必须条件。
但是注解中有几个参数你需要了解一下。

containerViewId

可选参数,此处需要传入fragment在添加时候占用的控件的id,作为fragment在添加的时候代替的位置。如果是0的话,fragment将不会代替任何位置.默认值是0.

这个参数将会在Rigger#startFragment方法中被使用。

bondContainerView

可选参数,bondContainerViewboolean类型.

  • 如果值为true: 当被操纵的类(Activity/Fragment)中的栈底fragment和栈顶fragment是同一个元素并且该fragment被关闭的时候,这个寄主类也会被关闭,并且栈顶的fragment不会执行退出转场动画.
  • 如果值为false: 当寄主类内部的最后一个fragment出栈的时候,寄主类不会做任何动作.并且所有的转场动画都是正常执行的。

这个参数将会在寄主的Activity#onBackPressed中被调用。