Skip to content

Scene api comparison

qiibeta edited this page Apr 20, 2020 · 2 revisions

Scene api comparison

Common api

Fragment api Scene api
setArguments()/getArguments() setArguments()/getArguments()
getActivity()/requireActivity() getActivity()/requireActivity()
getContext()/requireContext() getContext()/requireContext()/getSceneContext()
getResource() getResource()
getLifecycle()/getViewLifecycle() getLifecycle()
getViewModelStore() getViewModelStore()
startActivity() getNavigationScene().startActivity()
startActivityForResult() getNavigationScene().startActivityForResult()
requestPermissions() getNavigationScene().requestPermissions()
isVisible() isVisible()
getChildFragmentManager() extends GroupScene, use GroupScene api instead
setUserVisibleHint() extends UserVisibleHintGroupScene, use setUserVisibleHint()

GroupScene api

FragmentManager api GroupScene api
beginTransaction().add().commitNow() add()
beginTransaction().remove().commitNow() remove()
beginTransaction().show().commitNow() show()
beginTransaction().hide().commitNow() hide()
beginTransaction().replace().commitNow() replace()
findFragmentByTag() findSceneByTag()
getFragments() getSceneList()

NavigationScene api

Activity api NavigationScene api
startActivity(Intent) push(Scene)
Trancelucent Activity push(Scene, new PushOptions.Builder().setTrucluent(true).build())()
startActivityForResult(Intent) push(Scene, new PushOptions.Builder().setResultCallback().build())
setResult(Intent) setResult(Scene, Object)
finish() remove(Scene)
onBackPressed() pop()
getOnBackPressedDispatcher().addCallback() addOnBackPressedListener()
overridePendingTransition() overrideAnimationExecutor(Scene)
AppCompatActivity class AppCompatScene class

Other Scene api

Scene other api Description
getNavigationScene()/requireNavigationScene() Get NavigationScene instance
getParentScene()/requireParentScene() Get NavigationScene instance or GroupScene instance
getScope() Scope can be used to send any Object to children Scene
setTheme()/getTheme() Scene can use another different theme resource

Desigin library

Android Design library utility api Description
ScenePageAdapter ViewPager adapter
GroupSceneUIUtility.setupWithViewPager() Bind Scene to ViewPager
GroupSceneUIUtility.setupWithNavigationView() Bind Scene to NavigationView
GroupSceneUIUtility.setupWithBottomNavigationView() Bind Scene to BottomNavigationView