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; } }
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); }