Share
Embed
Transcript
20 slides
-
1SPGJMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w גࣜձࣾͯͳ w
"OESPJE"QQ%FWFMPQFS -
5IFNPUJPOTZTUFN w ΞϓϦͷૢ࡞ φϏήʔγϣϯΞΫγϣϯ Λิॿ͢Δ 5SBOTJUJPOͷύλʔϯ w "OESPJEͰNBUFSJBMDPNQPOFOUBMQIB͔Β͑Δ w ҎԼͷύλʔϯ͕͋Δ
w $POUBJOFSUSBOTGPSN w 4IBSFEBYJT w 'BEFUISPVHI w 'BEF -
$POUBJOFSUSBOTGPSN w ίϯςφΛؚΉ6*ཁૉؒ ͷભҠ w '"#͔Β#PUUPN4IFFU ʹભҠ w -JTU͔Βৄࡉϖʔδʹભ Ҡ
w ͜Ε·Ͱͷ4IBSFE &MFNFOU5SBOTJUJPOͱ୯ Ұͷཁૉ ը૾ͱ͔ ʹΘ ͳ͍ͱ͍͏͕ҟͳΔ -
$POUBJOFSUSBOTGPSN *NQMFNFOUBUJPO w 4IBSFE&MFNFOU5SBOTJUJPOͷ࣮ͱಉ͡Α͏ʹɺ։࢝ͷ7JFX ͱભҠઌͷ'SBHNFOUͷϧʔτͷ7JFXʹUSBOTJUJPO/BNFΛ ઃఆ͠ɺભҠͷॲཧΛ࣮ <View ... android:transitionName="transition_card" />
// navigate with transition card.setOnClickListener { card -> val extras = FragmentNavigatorExtras(card to card.transitionName) findNavController().navigate( R.id.action_List_to_Detail, null, null, extras ) } -
$POUBJOFSUSBOTGPSN *NQMFNFOUBUJPO w ભҠઌ'SBHNFOUͷTIBSFE&MFNFOU&OUFS5SBOTJUJPOʹ .BUFSJBM$POUBJOFS5SBOTGPSNΛઃఆ // Fragment.kt override fun onCreate(savedInstanceState:
Bundle?) { super.onCreate(savedInstanceState) // setup transition sharedElementEnterTransition = MaterialContainerTransform().apply { // if not exist background in fragment setAllContainerColors( MaterialColors.getColor( requireContext(), android.R.attr.colorBackground, "The attribute is not set in the current theme" ) ) } } -
$POUBJOFSUSBOTGPSN *NQMFNFOUBUJPO w ભҠઌ'SBHNFOUͷTIBSFE&MFNFOU&OUFS5SBOTJUJPOʹ .BUFSJBM$POUBJOFS5SBOTGPSNΛઃఆ // Fragment.kt override fun onCreate(savedInstanceState:
Bundle?) { super.onCreate(savedInstanceState) // setup transition sharedElementEnterTransition = MaterialContainerTransform().apply { // if not exist background in fragment setAllContainerColors( MaterialColors.getColor( requireContext(), android.R.attr.colorBackground, "The attribute is not set in the current theme" ) ) } } -
4IBSFEBYJT *NQMFNFOUBUJPO w .BUFSJBM4IBSFE"YJTΛUSBOTJUJPOʹઃఆ // StartFragment.kt override fun onCreate(savedInstanceState: Bundle?)
{ super.onCreate(savedInstanceState) // setup transition val backward = MaterialSharedAxis(MaterialSharedAxis.X, false) reenterTransition = backward val forward = MaterialSharedAxis(MaterialSharedAxis.X, true) exitTransition = forward } // EndFragment.kt override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setup transition val forward = MaterialSharedAxis(MaterialSharedAxis.X, true) enterTransition = forward val backward = MaterialSharedAxis(MaterialSharedAxis.X, false) returnTransition = backward } -
4IBSFEBYJT *NQMFNFOUBUJPO w .BUFSJBM4IBSFE"YJTΛUSBOTJUJPOʹઃఆ // StartFragment.kt override fun onCreate(savedInstanceState: Bundle?)
{ super.onCreate(savedInstanceState) // setup transition val backward = MaterialSharedAxis(MaterialSharedAxis.X, false) reenterTransition = backward val forward = MaterialSharedAxis(MaterialSharedAxis.X, true) exitTransition = forward } // EndFragment.kt override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setup transition val forward = MaterialSharedAxis(MaterialSharedAxis.X, true) enterTransition = forward val backward = MaterialSharedAxis(MaterialSharedAxis.X, false) returnTransition = backward } -
'BEFUISPVHI *NQMFNFOUBUJPO w .BUFSJBM'BEF5ISPVHIΛUSBOTJUJPOʹઃఆ // Fragment.kt override fun onCreate(savedInstanceState: Bundle?)
{ super.onCreate(savedInstanceState) // setup transition exitTransition = MaterialFadeThrough() enterTransition = MaterialFadeThrough() } -
'BEFUISPVHI *NQMFNFOUBUJPO w .BUFSJBM'BEF5ISPVHIΛUSBOTJUJPOʹઃఆ // Fragment.kt override fun onCreate(savedInstanceState: Bundle?)
{ super.onCreate(savedInstanceState) // setup transition exitTransition = MaterialFadeThrough() enterTransition = MaterialFadeThrough() } -
'BEF *NQMFNFOUBUJPO w .BUFSJBM'BEFΛ5SBOTJUJPO.BOBHFSʹઃఆͯ͠ 7JFXͷදࣔඇදࣔΛߦ͏ fun showFab() { val materialFade
= MaterialFade().apply { duration = 150L } TransitionManager.beginDelayedTransition(container, materialFade) fab.isVisible = true } fun hideFab() { val materialFade = MaterialFade().apply { duration = 75L } TransitionManager.beginDelayedTransition(container, materialFade) fab.isVisible = false } -
'BEF *NQMFNFOUBUJPO w .BUFSJBM'BEFΛ5SBOTJUJPO.BOBHFSʹઃఆͯ͠ 7JFXͷදࣔඇදࣔΛߦ͏ fun showFab() { val materialFade
= MaterialFade().apply { duration = 150L } TransitionManager.beginDelayedTransition(container, materialFade) fab.isVisible = true } fun hideFab() { val materialFade = MaterialFade().apply { duration = 75L } TransitionManager.beginDelayedTransition(container, materialFade) fab.isVisible = false }