private void CreateSwipeGesture() { swipeGesture = new SwipeGestureRecognizer(); swipeGesture.Direction = SwipeGestureRecognizerDirection.Any; swipeGesture.Updated += SwipeGestureCallback; FingerScript.AddGesture(swipeGesture); }
public void UpdateGestureRecognizers(List<IGestureRecognizer> gestureRecognizers) { this.tapGestureRecognizer = (TapGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is TapGestureRecognizer); this.longPressGestureRecognizer = (LongPressGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is LongPressGestureRecognizer); this.panGestureRecognizer = (PanGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is PanGestureRecognizer); this.pinchGestureRecognizer = (PinchGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is PinchGestureRecognizer); this.rotationGestureRecognizer = (RotationGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is RotationGestureRecognizer); this.swipeGestureRecognizer = (SwipeGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is SwipeGestureRecognizer); }
void OnSwipe( SwipeGestureRecognizer source ) { // make sure we started the swipe gesture on our swipe object GameObject selection = PickObject( source.StartPosition ); if( selection == sphereObject ) { UI.StatusText = "Swiped " + source.Direction + " with velocity: " + source.Velocity; SwipeParticlesEmitter emitter = selection.GetComponentInChildren<SwipeParticlesEmitter>(); if( emitter ) emitter.Emit( source.Direction, source.Velocity ); } }
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); var viewGesture = (ViewGestures)Element; var tapGestureRecognizer = new TapGestureRecognizer() { OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), OnTap = ((x, y) => viewGesture.OnTap(x, y)), }; var longPressGestureRecognizer = new LongPressGestureRecognizer(() => viewGesture.OnLongTap()) { OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), }; #region SwipeGestureRecognizer var swipeLeftGestureRecognizer = new SwipeGestureRecognizer(() => viewGesture.OnSwipeLeft()) { Direction = UISwipeGestureRecognizerDirection.Left, OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), }; var swipeRightGestureRecognizer = new SwipeGestureRecognizer(() => viewGesture.OnSwipeRight()) { Direction = UISwipeGestureRecognizerDirection.Right, OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), }; var swipeUpGestureRecognizer = new SwipeGestureRecognizer(() => viewGesture.OnSwipeUp()) { Direction = UISwipeGestureRecognizerDirection.Up, OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), }; var swipeDownGestureRecognizer = new SwipeGestureRecognizer(() => viewGesture.OnSwipeDown()) { Direction = UISwipeGestureRecognizerDirection.Down, OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), }; #endregion #region DragGestureRecognizer var dragGestureRecognizer = new DragGestureRecognizer() { OnTouchesBegan = ((x, y) => viewGesture.OnTouchBegan(x, y)), OnTouchesEnded = (() => viewGesture.OnTouchEnded()), OnDrag = ((x, y) => viewGesture.OnDrag(x, y)), }; //from iOS Developer Library (Gesture Recognizers) //...For your view to recognize both swipes and pans, you want the swipe gesture recognizer to analyze the touch event before the pan gesture recognizer does... if ((viewGesture.SupportGestures & ViewGestures.GestureType.gtSwipeLeft) != 0) dragGestureRecognizer.RequireGestureRecognizerToFail(swipeLeftGestureRecognizer); if ((viewGesture.SupportGestures & ViewGestures.GestureType.gtSwipeRight) != 0) dragGestureRecognizer.RequireGestureRecognizerToFail(swipeRightGestureRecognizer); if ((viewGesture.SupportGestures & ViewGestures.GestureType.gtSwipeUp) != 0) dragGestureRecognizer.RequireGestureRecognizerToFail(swipeUpGestureRecognizer); if ((viewGesture.SupportGestures & ViewGestures.GestureType.gtSwipeDown) != 0) dragGestureRecognizer.RequireGestureRecognizerToFail(swipeDownGestureRecognizer); #endregion if (e.NewElement == null) { if (tapGestureRecognizer != null) this.RemoveGestureRecognizer(tapGestureRecognizer); if (longPressGestureRecognizer != null) this.RemoveGestureRecognizer(longPressGestureRecognizer); if (swipeLeftGestureRecognizer != null) this.RemoveGestureRecognizer(swipeLeftGestureRecognizer); if (swipeRightGestureRecognizer != null) this.RemoveGestureRecognizer(swipeRightGestureRecognizer); if (swipeUpGestureRecognizer != null) this.RemoveGestureRecognizer(swipeUpGestureRecognizer); if (swipeDownGestureRecognizer != null) this.RemoveGestureRecognizer(swipeDownGestureRecognizer); if (dragGestureRecognizer != null) this.RemoveGestureRecognizer(dragGestureRecognizer); } if (e.OldElement == null) { this.AddGestureRecognizer(tapGestureRecognizer); this.AddGestureRecognizer(longPressGestureRecognizer); this.AddGestureRecognizer(swipeLeftGestureRecognizer); this.AddGestureRecognizer(swipeRightGestureRecognizer); this.AddGestureRecognizer(swipeUpGestureRecognizer); this.AddGestureRecognizer(swipeDownGestureRecognizer); this.AddGestureRecognizer(dragGestureRecognizer); } }
public iOS_SwipeGestureEventArgs(SwipeGestureRecognizer gestureRecognizer, UISwipeGestureRecognizer platformGestureRecognizer) { this.gestureRecognizer = gestureRecognizer; this.platformGestureRecognizer = platformGestureRecognizer; }
public Android_SwipeGestureEventArgs(SwipeGestureRecognizer gestureRecognizer, Android_GestureListener androidGestureListener) { this.gestureRecognizer = gestureRecognizer; this.androidGestureListener = androidGestureListener; }