public async override Task Appearing(View content, PopupPage page) { var taskList = new List<Task>(); taskList.Add(base.Appearing(content, page)); if (content != null) { var topOffset = GetTopOffset(content, page); var leftOffset = GetLeftOffset(content, page); if (PositionIn == MoveAnimationOptions.Top) { content.TranslationY = -topOffset; } else if (PositionIn == MoveAnimationOptions.Bottom) { content.TranslationY = topOffset; } else if (PositionIn == MoveAnimationOptions.Left) { content.TranslationX = -leftOffset; } else if (PositionIn == MoveAnimationOptions.Right) { content.TranslationX = leftOffset; } taskList.Add(content.TranslateTo(_defaultTranslationX, _defaultTranslationY, DurationIn, EasingIn)); } page.IsVisible = true; await Task.WhenAll(taskList); }
public override void Disposing(View content, PopupPage page) { if (HasBackgroundAnimation && page.BackgroundImage == null) { page.BackgroundColor = _backgroundColor; } }
public override void Preparing(View content, PopupPage page) { if (HasBackgroundAnimation && page.BackgroundImage == null) { _backgroundColor = page.BackgroundColor; page.BackgroundColor = GetColor(0); } }
// Private private static void RemovePopup(PopupPage page) { _popupStack.Remove(page); Device.BeginInvokeOnMainThread(() => { DependencyService.Get<IPopupNavigation>().RemovePopup(page); }); }
public void RemovePopup(PopupPage page) { var renderer = page.GetOrCreateRenderer(); var viewController = renderer?.ViewController; if (viewController != null && !viewController.IsBeingDismissed) renderer.NativeView.RemoveFromSuperview(); }
public override void Disposing(View content, PopupPage page) { base.Disposing(content, page); page.IsVisible = true; if (content == null) return; content.TranslationY = _defaultTranslationY; }
public void RemovePopup(PopupPage page) { var renderer = page.GetOrCreateRenderer(); if (renderer != null) { _decoreView.RemoveView(renderer.ViewGroup); UpdateListeners(false); //renderer.Dispose(); } }
public override void Preparing(View content, PopupPage page) { base.Preparing(content, page); page.IsVisible = false; if(content == null) return; UpdateDefaultTranslations(content); }
public override void Disposing(View content, PopupPage page) { if (HasBackgroundAnimation) { page.Opacity = _defaultOpacity; } else if (content != null) { page.Opacity = _defaultOpacity; } }
public override void Preparing(View content, PopupPage page) { if(HasBackgroundAnimation) base.Preparing(content, page); page.IsVisible = false; if(content == null) return; UpdateDefaultProperties(content); if(!HasBackgroundAnimation) content.Opacity = 0; }
public void AddPopup(PopupPage page) { page.Parent = Application.Current.MainPage; var popup = new global::Windows.UI.Xaml.Controls.Primitives.Popup(); var renderer = (PopupPageRenderer)page.GetOrCreateRenderer(); renderer.Prepare(popup); popup.Child = renderer.ContainerElement; popup.IsOpen = true; page.ForceLayout(); }
public void RemovePopup(PopupPage page) { var renderer = (PopupPageRenderer)page.GetOrCreateRenderer(); var popup = renderer.Container; //((PopupPageRenderer)popup.Child).Dispose(); if (popup == null) return; renderer.Destroy(); popup.Child = null; popup.IsOpen = false; }
public override void Disposing(View content, PopupPage page) { if (HasBackgroundAnimation) base.Disposing(content, page); page.IsVisible = true; if(content == null) return; content.Scale = _defaultScale; content.Opacity = _defaultOpacity; content.TranslationX = _defaultTranslationX; content.TranslationY = _defaultTranslationY; }
public override void Preparing(View content, PopupPage page) { if (HasBackgroundAnimation) { _defaultOpacity = page.Opacity; page.Opacity = 0; } else if(content != null) { _defaultOpacity = content.Opacity; content.Opacity = 0; } }
public override Task Appearing(View content, PopupPage page) { if (HasBackgroundAnimation) { return page.FadeTo(1, DurationIn, EasingIn); } if (content != null) { return content.FadeTo(1, DurationIn, EasingIn); } return Task.FromResult(0); }
public async static Task RemovePageAsync(PopupPage page, bool animate = true) { if (page == null) throw new NullReferenceException("Page can not be null"); if (!page.IsAnimate) { if (animate) await page.DisappearingAnimation(); RemovePopup(page); await Task.Delay(50); page.DisposingAnimation(); } }
public void AddPopup(PopupPage page) { var decoreView = _decoreView; page.Parent = XApplication.Current.MainPage; var renderer = page.GetOrCreateRenderer(); page.Layout(DependencyService.Get<IScreenHelper>().ScreenSize); decoreView.AddView(renderer.ViewGroup); UpdateListeners(true); }
private void PopupPage_Disappearing(object sender, EventArgs e) { Rg.Plugins.Popup.Pages.PopupPage page = sender as Rg.Plugins.Popup.Pages.PopupPage; if (page != null) { page.Disappearing -= PopupPage_Disappearing; } if (overlayGrid.IsVisible) { overlayGrid.IsVisible = false; } }
public void AddPopup(PopupPage page) { var topViewController = GetTopViewController(); var topRenderer = topViewController.ChildViewControllers.LastOrDefault() as IVisualElementRenderer; if (topRenderer != null) page.Parent = topRenderer.Element; else page.Parent = Application.Current.MainPage; var renderer = page.GetOrCreateRenderer(); topViewController.View.AddSubview(renderer.NativeView); }
public override Task Disappearing(View content, PopupPage page) { _defaultOpacity = page.Opacity; if (HasBackgroundAnimation) { return page.FadeTo(0, DurationOut, EasingOut); } if (content != null) { return content.FadeTo(0, DurationOut, EasingOut); } return Task.FromResult(0); }
public async override Task Disappearing(View content, PopupPage page) { var taskList = new List<Task>(); taskList.Add(base.Disappearing(content, page)); if (content != null) { _defaultTranslationY = content.TranslationX; var topOffset = GetTopOffset(content, page); taskList.Add(content.TranslateTo(content.TranslationX, topOffset, DurationOut, EasingOut)); }; await Task.WhenAll(taskList); }
public static Task PushAsync(PopupPage page, bool animate = true) { var task = new TaskCompletionSource<bool>(); if (animate) { page.PreparingAnimation(); page.ExecuteWhenAppearingOnce(async () => { await page.AppearingAnimation(); task.TrySetResult(true); }); } DependencyService.Get<IPopupNavigation>().AddPopup(page); _popupStack.Add(page); if (!animate) task.TrySetResult(true); return task.Task; }
public async override Task Appearing(View content, PopupPage page) { var taskList = new List<Task>(); taskList.Add(base.Appearing(content, page)); if (content != null) { var topOffset = GetTopOffset(content, page); content.TranslationY = topOffset; taskList.Add(content.TranslateTo(content.TranslationX, _defaultTranslationY, DurationIn, EasingIn)); }; page.IsVisible = true; await Task.WhenAll(taskList); }
public override Task Appearing(View content, PopupPage page) { if (HasBackgroundAnimation && page.BackgroundImage == null) { TaskCompletionSource<bool> task = new TaskCompletionSource<bool>(); page.Animate("backgroundFade", d => { page.BackgroundColor = GetColor(d); }, 0, _backgroundColor.A, length: DurationIn, finished: (d, b) => { task.SetResult(true); }); return task.Task; } return Task.FromResult(0); }
public static Task PushPopupAsync(this INavigation sender, PopupPage page, bool animate = true) { return PopupNavigation.PushAsync(page, animate); }
public async override Task Disappearing(View content, PopupPage page) { var taskList = new List<Task>(); taskList.Add(base.Disappearing(content, page)); if (content != null) { UpdateDefaultTranslations(content); var topOffset = GetTopOffset(content, page); var leftOffset = GetLeftOffset(content, page); if (PositionOut == MoveAnimationOptions.Top) { taskList.Add(content.TranslateTo(_defaultTranslationX, -topOffset, DurationOut, EasingOut)); } else if (PositionOut == MoveAnimationOptions.Bottom) { taskList.Add(content.TranslateTo(_defaultTranslationX, topOffset, DurationOut, EasingOut)); } else if (PositionOut == MoveAnimationOptions.Left) { taskList.Add(content.TranslateTo(-leftOffset, _defaultTranslationY, DurationOut, EasingOut)); } else if (PositionOut == MoveAnimationOptions.Right) { taskList.Add(content.TranslateTo(leftOffset, _defaultTranslationY, DurationOut, EasingOut)); } } await Task.WhenAll(taskList); }
public static Task RemovePopupPageAsync(this INavigation sender, PopupPage page, bool animate = true) { return PopupNavigation.RemovePageAsync(page, animate); }