An Android frame In order to support single Activity+multi Fragment framework.(为了给单Activity+多Fragment架构提供支持的框架)
FragmentRiggerAOPFragment
FragmentFragmentFragmentActivityFragment Activity+FragmentActivity+Fragment
DemoAppActivity+FragmentMVP+MVVMARouterEventBus demowiki
|supportfragment ---|--- |
<dependency>
<groupId>com.justkiddingbaby</groupId>
<artifactId>supportfragment</artifactId>
<version></version>
<type>pom</type>
</dependency>
build.gradle
repositories {
jcenter()
}
modulebuild.gradle
compile 'com.justkiddingbaby:supportfragment:'
ActivitySupportActivityint getFragmentContentId() startFragment(SupportFragment)Activity
public class TestActivity extends SupportActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public int getFragmentContentId() {
return R.id.main_content;
}
}
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainFrameContent"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
FragmentSupportFragmentFragment
public class TestFragment extends SupportFragment {
}
FragmentFragmentSupportFragment
int | getFragmentContentId() | FragmentidstartFragment() | Activity |
void | startFragment(SupportFragment) | getFragmentContentId()Fragment | Activity/Fragment |
void | startFragmentForResult(SupportFragment,int) | startFragment | Activity/Fragment |
void | startFragmentForResult(SupportFragment,int,Bundle) | startFragment | Activity/Fragment |
void | setFragmentResult(int,Bundle) | Fragment | Activity/Fragment |
void | onFragmentResult(int,int,Bundle) | Fragment | Activity/Fragment |
void | showFragment(SupportFragment,int) | intFragmentcontentIdFragmentFragment | Activity/Fragment |
void | hideFragment(SupportFragment,int) | FragmentFragment | Activity/Fragment |
void | replaceFragment(SupportFragment,int) | intFragmentFragmentFragment | Activity/Fragment |
void | showPopFragment() | Fragment | Activity/Fragment |
void | closeCurrentAndShowPopFragment() | FragmentFragment | Activity/Fragment |
void | clearFragment() | Fragment | Activity/Fragment |
void | close() | FragmentActivity | Activity/Fragment |
void | closeFragment(SupportFragment) | Fragment | Activity/Fragment |
String | getFragmentTAG() | FragmentTAGTAG | Fragment |
boolean | isContainChildFragment() | Activity/FragmentFragment | Activity/Fragment |
SupportFragment | getPopSupportFragment() | SupportFragment,null | Activity/Fragment |
boolean | isHideLashFragmentBeforeFinish() | ActivityfinishFragment,false | Activity |
ActivityFragment FragmentFragment
1FragmentonBackPressed(),FragmentisHideLashFragmentBeforeFinish()
false
1isContainChildFragment()
2SupportFragmentonKeyDown
3getPopSupportFragment()
4isHideLashFragmentBeforeFinish()
1SupportActivity/SupportFragmentisSupportResumed()
,ActivityResume
1FragmentonKeyDown(int keyCode, KeyEvent event)
1supportFragmentallowBackup
1SDK12
1 2v7SDK
1FragmentBundle
1startFragmentForResultonFragmentResultrequestCode
1hideFragment(SupportFragment) 2startFragmentForResultstartActivityForResult
1SupportSupportTransaction
1SupportshowFragmentaddedFragmentshowFragment
1SupportFragmentFragment 2DemoApp