private Storyboard CollapseAnimation(SwipeListDirection direction, bool raise) { var animDrag = CreateDouble(0, 300, ContentDragTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animRight = CreateDouble((RightContainer.ActualWidth + 20), 300, RightTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var currentAnim = new Storyboard(); currentAnim.Children.Add(animDrag); currentAnim.Children.Add(animRight); currentAnim.Completed += (s, args) => { ContentDragTransform.X = 0; RightTransform.X = (RightContainer.ActualWidth + 20); }; if (raise) { ItemSwipe?.Invoke(this, new ItemSwipeEventArgs(Content, direction)); } return(currentAnim); }
private Storyboard ExpandAnimation(SwipeListDirection direction) { var currentAnim = new Storyboard(); if (direction == SwipeListDirection.Left) { var animDrag = CreateDouble(ActualWidth + 100, 300, ContentDragTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animClip = CreateDouble(ActualWidth, 300, DragClipTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animLeft = CreateDouble(ActualWidth + 100, 300, LeftTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseIn }); var animRight = CreateDouble(ActualWidth + 100, 300, RightTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseIn }); currentAnim.Children.Add(animDrag); currentAnim.Children.Add(animClip); currentAnim.Children.Add(animLeft); currentAnim.Children.Add(animRight); } else if (direction == SwipeListDirection.Right) { var animDrag = CreateDouble(-ActualWidth - 100, 300, ContentDragTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animClip = CreateDouble(-ActualWidth, 300, DragClipTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animLeft = CreateDouble(-ActualWidth - 100, 300, LeftTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseIn }); var animRight = CreateDouble(-ActualWidth - 100, 300, RightTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseIn }); currentAnim.Children.Add(animDrag); currentAnim.Children.Add(animClip); currentAnim.Children.Add(animLeft); currentAnim.Children.Add(animRight); } currentAnim.Completed += (s, args) => { ItemSwipe?.Invoke(this, new ItemSwipeEventArgs(Content, direction)); }; return(currentAnim); }
private Storyboard CollapseAnimation(SwipeListDirection direction, bool raise) { var animDrag = CreateDouble(0, 300, ContentDragTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animClip = CreateDouble(0, 300, DragClipTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animLeft = CreateDouble(-(LeftContainer.ActualWidth + 20), 300, LeftTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var animRight = CreateDouble((RightContainer.ActualWidth + 20), 300, RightTransform, "TranslateTransform.X", new ExponentialEase { EasingMode = EasingMode.EaseOut }); var currentAnim = new Storyboard(); currentAnim.Children.Add(animDrag); currentAnim.Children.Add(animClip); currentAnim.Children.Add(animLeft); currentAnim.Children.Add(animRight); currentAnim.Completed += (s, args) => { DragBackground.Background = null; ContentDragTransform.X = 0; LeftTransform.X = -(LeftContainer.ActualWidth + 20); RightTransform.X = (RightContainer.ActualWidth + 20); Grid.SetColumn(DragBackground, 1); Grid.SetColumnSpan(DragBackground, 1); }; if (raise) { ItemSwipe?.Invoke(this, new ItemSwipeEventArgs(Content, direction)); } return(currentAnim); }
public override void OnSwiped(RecyclerView.ViewHolder viewHolder, int direction) { ItemSwipe?.Invoke(viewHolder.AdapterPosition); }
public void OnItemDismiss(RecyclerView.ViewHolder viewHolder, int p1, object item) { ItemSwipe?.Execute(item); //NotifyItemRemoved(viewHolder.AdapterPosition); }