private static void ShowPopupLayout(this AbsoluteLayout layout, View popup, PagePopup parameters) { if (layout != null) { if (parameters.HasBackgroundOverlay) { var overlay = new StackLayout() { AutomationId = "CoreContainerBackdropId", BackgroundColor = parameters.OverlayColor, Opacity = parameters.OverlayOpacity }; AbsoluteLayout.SetLayoutBounds(overlay, new Rectangle(1, 1, 1, 1)); AbsoluteLayout.SetLayoutFlags(overlay, AbsoluteLayoutFlags.All); layout.Children.Add(overlay); } popup.AutomationId = "CorePopupAutomationId"; if (parameters.UseParentBindingContext) { popup.BindingContext = layout.BindingContext; } AbsoluteLayout.SetLayoutBounds(popup, parameters.ToPercentRectange()); AbsoluteLayout.SetLayoutFlags(popup, AbsoluteLayoutFlags.All); layout.Children.Add(popup); popup.ScaleTo(0.99, 200).ContinueWith(async(t) => { await popup.ScaleTo(1, 200); }); } }
public static void ShowPagePopup(this Page page, View popup, PagePopup parameters) { if (popup == null || parameters == null) { return; } var layout = page.GetAbsoluteLayout(); layout?.ShowPopupLayout(popup, parameters); }
public static void ShowPagePopup(this ContentView view, View popup, PagePopup parameters) { if (!view.IsAbsoluteLayout() || popup == null || parameters == null) { return; } var layout = (AbsoluteLayout)((ContentView)view).Content; layout?.ShowPopupLayout(popup, parameters); }