Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
 }