-
Notifications
You must be signed in to change notification settings - Fork 266
onBackPressed拦截
JingYeoh edited this page Apr 23, 2018
·
2 revisions
本框架对
Fragment
的出栈操作是通过onBackPressed
方法的,但是在某些时候,我们需要拦截这个方法并进行一些额外的处理,本框架对这种场景提供了支持。
在
v1.3.0
版本对于onBackPressed
方法进行了重新设计,支持了所有场景下的Fragment
。
主要包括如下两个方法:
- boolean onInterruptBackPressed()
- 是否拦截继续向子
Fragment
传递onInterruptBackPressed()
方法。
- 是否拦截继续向子
- boolean onRiggerBackPressed()
- 是否拦截继续向上层传递
onRiggerBackPressed()
方法。
- 是否拦截继续向上层传递
在
Activity/Fragment
中重写如下方法。
public boolean onInterruptBackPressed(){
//需要拦截,则返回true,否则返回false
return true;
}
在
Activity/Fragment
中重写如下方法。
public boolean onRiggerBackPressed(){
//需要拦截,则返回true,否则返回false
return true;
}
详细Wiki会在以后补充,暂请参照 Demo
在你需要拦截的类中声明一个
public
的无参的方法名为onRiggerBackPressed
的方法。
@Puppet
public class TestFragment extent Fragment{
public void onRiggerBackPressed(){
//Rigger.getRigger(this).onBackPressed();
//如果需要拦截返回键,不要写上行代码,上行代码可以手动调用onBackPressed方法。
}
}
如果写了onRiggerBackPressed
方法,则默认会调用该方法,如果需要调用默认的返回操作,在该方法中调用Rigger.getRigger(this).onBackPressed()
即可。
- Installation
- Using start
- Fragment usage
- Custom fragment tag
- Lazy loading
- Transition animations
- Intercept onBackPressed
- startFragmentForResult
- Swipe edge to exit
- How to use in library module