private void SelectButtonLayoutDirectionChanged(object sender, LayoutDirectionChangedEventArgs e) { if (selectButtonAttributes == null || selectButtonAttributes.TextAttributes == null) { return; } UpdateTextAttributes(); int iconWidth = (int)CheckImageSize.Width; int textPaddingLeft = selectButtonAttributes.TextAttributes.PaddingLeft; int textPaddingRight = selectButtonAttributes.TextAttributes.PaddingRight; if (LayoutDirection == ViewLayoutDirectionType.RTL) { selectButtonAttributes.TextAttributes.HorizontalAlignment = HorizontalAlignment.End; selectButtonAttributes.TextAttributes.Position.X = textPaddingRight; checkShadowImage.Position2D.X = checkBackgroundImage.Position2D.X = checkImage.Position2D.X = (int)(selectButtonAttributes.TextAttributes.Size.Width) + textPaddingLeft + textPaddingRight + IconPadding.End; } else if (LayoutDirection == ViewLayoutDirectionType.LTR) { selectButtonAttributes.TextAttributes.HorizontalAlignment = HorizontalAlignment.Begin; selectButtonAttributes.TextAttributes.Position.X = IconPadding.Start + iconWidth + IconPadding.End + textPaddingLeft; checkShadowImage.Position2D.X = checkBackgroundImage.Position2D.X = checkImage.Position2D.X = IconPadding.Start; } }
// Callback for View layout direction change signal private void OnLayoutDirectionChanged(IntPtr data, ViewLayoutDirectionType type) { LayoutDirectionChangedEventArgs e = new LayoutDirectionChangedEventArgs(); if (data != null) { e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View; } e.Type = type; if (_layoutDirectionChangedEventHandler != null) { _layoutDirectionChangedEventHandler(this, e); } }
private void OnLayoutDirectionChanged(object sender, LayoutDirectionChangedEventArgs e) { LayoutChild(); }
private void OnLayoutDirectionChanged(object sender, LayoutDirectionChangedEventArgs e) { RelayoutRequest(); }