protected override void OnAttached() { _paddingElement = new PaddingElement(Element); _originalPadding = _paddingElement.Padding; ApplyInsets(_paddingElement, _originalPadding); _paddingElement.Element.SizeChanged += ElementSizeChanged; _registered = true; }
private static void ApplyInsets(PaddingElement paddingElement, Thickness defaultPadding) { var safeInset = GetSafeAreaInset(); // Get the attached property value so we can apply the appropriate padding var insetFlags = SafeAreaInsetEffect.GetInsets(paddingElement.Element); // Combine the safe inset with the view's current padding var newPadding = CombineInset(defaultPadding, safeInset, insetFlags); paddingElement.Padding = newPadding; }