diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Android/PinchGestureHandler.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Android/PinchGestureHandler.cs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs b/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs index c315b92c..e5d31373 100644 --- a/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs +++ b/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs @@ -13,19 +13,11 @@ namespace Xamarin.Forms.Platform.Android GetView = getView; } - public bool IsPinchSupported - { - get - { - View view = GetView(); - return view != null && view.GestureRecognizers.GetGesturesFor<PinchGestureRecognizer>().Any(); - } - } - Func<View> GetView { get; } // A View can have at most one pinch gesture, so we just need to look for one (or none) - PinchGestureRecognizer PinchGesture => GetView()?.GestureRecognizers.GetGesturesFor<PinchGestureRecognizer>().FirstOrDefault(); + PinchGestureRecognizer PinchGesture => GetView()?.GestureRecognizers.OfType<PinchGestureRecognizer>() + .FirstOrDefault(); public bool OnPinch(float scale, Point scalePoint) { @@ -39,7 +31,7 @@ namespace Xamarin.Forms.Platform.Android return true; var scalePointTransformed = new Point(scalePoint.X / view.Width, scalePoint.Y / view.Height); - ((IPinchGestureController)pinchGesture).SendPinch(view, 1 + (scale - 1) * _pinchStartingScale, scalePointTransformed); + pinchGesture.SendPinch(view, 1 + (scale - 1) * _pinchStartingScale, scalePointTransformed); return true; } @@ -52,7 +44,7 @@ namespace Xamarin.Forms.Platform.Android return; PinchGestureRecognizer pinchGesture = PinchGesture; - ((IPinchGestureController)pinchGesture)?.SendPinchEnded(view); + pinchGesture?.SendPinchEnded(view); } public bool OnPinchStarted(Point scalePoint) @@ -70,7 +62,7 @@ namespace Xamarin.Forms.Platform.Android var scalePointTransformed = new Point(scalePoint.X / view.Width, scalePoint.Y / view.Height); - ((IPinchGestureController)pinchGesture).SendPinchStarted(view, scalePointTransformed); + pinchGesture.SendPinchStarted(view, scalePointTransformed); return true; } } |