From 1d9e5a73a8f2571b0d59c7ad693d274179bbb584 Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Fri, 28 May 2021 18:19:02 +0800 Subject: [PATCH] Fix shared element transition --- .../java/com/hippo/ehviewer/ui/scene/BaseScene.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java index a31142d9f..df105b1b0 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java @@ -27,6 +27,7 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.ViewTreeObserver; import androidx.annotation.IdRes; import androidx.annotation.NonNull; @@ -198,6 +199,15 @@ public abstract class BaseScene extends SceneFragment { @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + postponeEnterTransition(); + view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + @Override + public boolean onPreDraw() { + view.getViewTreeObserver().removeOnPreDrawListener(this); + startPostponedEnterTransition(); + return true; + } + }); // Update left drawer locked state if (needShowLeftDrawer()) {