diff --git a/app/src/github/AndroidManifest.xml b/app/src/github/AndroidManifest.xml index 2d4a251f3..60764bc53 100644 --- a/app/src/github/AndroidManifest.xml +++ b/app/src/github/AndroidManifest.xml @@ -62,7 +62,7 @@ { + float progress = (float) animation.getAnimatedValue(); + float scale = startScale + (endScale - startScale) * progress; + float alpha = startAlpha + (endAlpha - startAlpha) * progress; + view.setScaleX(scale); + view.setScaleY(scale); + view.setAlpha(alpha); + }); + + return animator; + } + + @Override + public Animator onAppear(@NonNull ViewGroup sceneRoot, + @NonNull View view, + TransitionValues startValues, + TransitionValues endValues) { + // Entering: scale from behind, fade in + float startScale = forward ? SCALE_IN_FROM : SCALE_OUT_TO; + float endScale = 1f; + return createAnimator(view, startScale, endScale, 0f, 1f); + } + + @Override + public Animator onDisappear(@NonNull ViewGroup sceneRoot, @NonNull View view, + TransitionValues startValues, TransitionValues endValues) { + // Exiting: scale out, fade out + float endScale = forward ? SCALE_OUT_TO : SCALE_IN_FROM; + float startScale = 1f; + return createAnimator(view, startScale, endScale, 1f, 0f); + } +} \ No newline at end of file diff --git a/app/src/main/java/app/simple/inure/extensions/fragments/ScopedFragment.kt b/app/src/main/java/app/simple/inure/extensions/fragments/ScopedFragment.kt index 1a1cf4a69..2add96e1c 100644 --- a/app/src/main/java/app/simple/inure/extensions/fragments/ScopedFragment.kt +++ b/app/src/main/java/app/simple/inure/extensions/fragments/ScopedFragment.kt @@ -41,6 +41,7 @@ import app.simple.inure.R import app.simple.inure.apk.utils.PackageUtils import app.simple.inure.constants.BundleConstants import app.simple.inure.decorations.transitions.DetailsTransitionArc +import app.simple.inure.decorations.transitions.SeekableSharedAxisZTransition import app.simple.inure.decorations.views.FloatingMenuRecyclerView import app.simple.inure.dialogs.app.FullVersion.Companion.showFullVersion import app.simple.inure.dialogs.app.Sure.Companion.newSureInstance @@ -293,10 +294,10 @@ abstract class ScopedFragment : Fragment(), SharedPreferences.OnSharedPreference returnTransition = MaterialSharedAxis(MaterialSharedAxis.Y, false) } PopupTransitionType.SHARED_AXIS_Z -> { - enterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true) - exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true) - reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false) - returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false) + enterTransition = SeekableSharedAxisZTransition(true) + exitTransition = SeekableSharedAxisZTransition(true) + reenterTransition = SeekableSharedAxisZTransition(false) + returnTransition = SeekableSharedAxisZTransition(false) } PopupTransitionType.THROUGH -> { exitTransition = MaterialFadeThrough() @@ -622,7 +623,7 @@ abstract class ScopedFragment : Fragment(), SharedPreferences.OnSharedPreference view.scaleX = 1F - (0.1F * interpolatedProgress) view.scaleY = 1F - (0.1F * interpolatedProgress) - // view.alpha = 1F - (0.5F * interpolatedProgress) + view.alpha = 1F - (0.5F * interpolatedProgress) } @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) @@ -748,7 +749,7 @@ abstract class ScopedFragment : Fragment(), SharedPreferences.OnSharedPreference val transaction = requireActivity().supportFragmentManager.beginTransaction().apply { setReorderingAllowed(true) addSharedElement(icon, icon.transitionName) - replace(R.id.app_container, fragment, tag) + add (R.id.app_container, fragment, tag) if (tag.isNotNull()) { addToBackStack(tag) } @@ -759,7 +760,7 @@ abstract class ScopedFragment : Fragment(), SharedPreferences.OnSharedPreference val transaction = requireActivity().supportFragmentManager.beginTransaction().apply { setReorderingAllowed(true) addSharedElement(icon, icon.transitionName) - replace(R.id.app_container, fragment, tag) + add(R.id.app_container, fragment, tag) if (tag.isNotNull()) { addToBackStack(tag) }