From ac719105ac7accdffa8cf098b2f28d08584ae561 Mon Sep 17 00:00:00 2001 From: Krzysztof Magiera Date: Thu, 20 Dec 2018 10:02:56 +0100 Subject: [PATCH] Android: Disable touch interaction on screens that are transitioning (#51) --- .../src/main/java/com/swmansion/rnscreens/Screen.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/rnscreens/Screen.java b/android/src/main/java/com/swmansion/rnscreens/Screen.java index c43b139c..bf000bbf 100644 --- a/android/src/main/java/com/swmansion/rnscreens/Screen.java +++ b/android/src/main/java/com/swmansion/rnscreens/Screen.java @@ -7,10 +7,13 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import com.facebook.react.uimanager.PointerEvents; +import com.facebook.react.uimanager.ReactPointerEventsView; -public class Screen extends ViewGroup { +public class Screen extends ViewGroup implements ReactPointerEventsView { public static class ScreenFragment extends Fragment { @@ -67,6 +70,11 @@ public class Screen extends ViewGroup { return mTransitioning; } + @Override + public PointerEvents getPointerEvents() { + return mTransitioning ? PointerEvents.NONE : PointerEvents.AUTO; + } + @Override public void setLayerType(int layerType, @Nullable Paint paint) { // ignore – layer type is controlled by `transitioning` prop