Beispiel #1
0
        private async Task HideShowNavBar(Effects.TouchActionEventArgs args)
        {
            stackHeight = -(navStack.Height + navStack.Margin.VerticalThickness);
            switch (args.Type)
            {
            case Sample.Effects.TouchActionType.Entered:
                break;

            case Sample.Effects.TouchActionType.Pressed:
                move = args.Location.Y;
                System.Diagnostics.Debug.WriteLine($"Pressed : { args.Location.Y}\t Stack Y : {navStack.TranslationY}");
                break;

            case Sample.Effects.TouchActionType.Moved:

                System.Diagnostics.Debug.WriteLine($"Moved :{Math.Min(Math.Max(stackHeight, args.Location.Y) - move, 0)}");
                System.Diagnostics.Debug.WriteLine($"Moved Args : { args.Location.Y}\t Stack Y : {navStack.TranslationY}");
                await navStack.TranslateTo((navStack.X - navStack.Margin.HorizontalThickness / 2), Math.Min(args.Location.Y - move, 0), 16);

                break;

            case Sample.Effects.TouchActionType.Released:
                System.Diagnostics.Debug.WriteLine($"Released : { args.Location.Y}\t Stack Y : {navStack.TranslationY}");

                if (Math.Min(args.Location.Y - move, 0) < 0)
                {
                    await navStack.TranslateTo((navStack.X - navStack.Margin.HorizontalThickness / 2), stackHeight, 200);

                    IsNavBarVisible = false;
                }
                else
                {
                    await navStack.TranslateTo((navStack.X - navStack.Margin.HorizontalThickness / 2), 0, 200);

                    IsNavBarVisible = true;
                }
                break;

            case Sample.Effects.TouchActionType.Exited:
                break;

            case Sample.Effects.TouchActionType.Cancelled:
                break;

            default:
                break;
            }
        }
Beispiel #2
0
        private async void TouchEffectAction(object sender, Effects.TouchActionEventArgs args)
        {
            System.Diagnostics.Debug.WriteLine($"Location X :{args.Location.X}\t Location Y :{args.Location.Y}");

            await HideShowNavBar(args);

            //switch (args.Type)
            //{
            //    case Sample.Effects.TouchActionType.Entered:
            //        System.Diagnostics.Debug.WriteLine("Entered");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 10);
            //        break;

            //    case Sample.Effects.TouchActionType.Pressed:
            //        System.Diagnostics.Debug.WriteLine("Pressed");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 800);
            //        break;

            //    case Sample.Effects.TouchActionType.Moved:
            //        System.Diagnostics.Debug.WriteLine("Moved");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 16);
            //        break;

            //    case Sample.Effects.TouchActionType.Released:
            //        System.Diagnostics.Debug.WriteLine("Released");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 200);
            //        break;

            //    case Sample.Effects.TouchActionType.Exited:
            //        System.Diagnostics.Debug.WriteLine("Exited");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 1);
            //        break;

            //    case Sample.Effects.TouchActionType.Cancelled:
            //        System.Diagnostics.Debug.WriteLine("Cancelled");
            //        await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 1);
            //        break;

            //    default:
            //        break;
            //}
            //await label.TranslateTo((label.X - args.Location.X), (label.Y - args.Location.Y), 16);
            //await label.TranslateTo(-(label.X - args.Location.X), -(label.Y - args.Location.Y), 16);
            //await label.TranslateTo(-(label.X + label.Width / 2 - args.Location.X), -(label.Y + label.Height / 2 - args.Location.Y), 16);
        }