
:boom:一个强大的Fragment框架。
这可能是使用成本最低的Fragment框架。
无需继承!!!无需继承!!!无需继承!!! 重要的话说三遍!!
在使用FragmentRigger的时候,使用成本只有一行注解!!!
原理: 是把Fragment/Activity生命周期相关方法定义为切点,通过ASpectJ绑定并使用代理类进行操作。
| Stack manager | Show | Lazy loading | Replace |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
onBackPressed等常见的方法支持内存重启时的一系列异常~~本框架提供了强大的Api支持。
和已有的大部分Fragment框架不同,不需要继承任何父类,只需要添加一行注解即可。
在操纵Fragment的时候只需要通过代理类来操作,本框架完全采用一种插入式 的方式来降低使用成本。
1、声明为框架的支持类
在需要使用本框架的
Activity/Fragment上添加注解@Puppet即可。
//MainActivity.java
@Puppet(containerViewId = R.id.atyContent)//containerViewId是你需要操纵的Fragment在add时候的container view
public class MainActivity extends AppCompatActivity
//TestFragment.java
@Puppet
public class TestFragment extends Fragment
2、使用框架操纵Fragment
添加
@Puppet注解之后,在使用框架提供的Fragment操纵的方法的时候通过代理类Rigger来操纵。
@Puppet(containerViewId = R.id.atyContent)
public class MainActivity extends AppCompatActivity{
...
//add并show一个Fragment并添加至栈中,此时添加的Fragment是在@Puppet中的containerViewId中的
Rigger.getRigger(this).startFragment(TestFragment.newInstance());
}
3、Activity/Fragment 滑动退出
在需要滑动边缘退出的
Activity/Fragment上添加Swiper注解.
@Swiper
@Puppet
public class MainActivity extends AppCompatActivity{
// swiper 只可以使用在有 puppet 注解的类上.
}
@Swiper
@Puppet
public class TestFragment extends Fragment{
// swiper 只可以使用在有 puppet 注解的类上.
}
![]()
本项目遵循MIT开源协议. 浏览LICENSE查看更多信息.
$ claude mcp add FragmentRigger \
-- python -m otcore.mcp_server <graph>