protected override void OnElementChanged(VisualElement oldElement, VisualElement newElement) { base.OnElementChanged(oldElement, newElement); var fieldInfo = GetType().BaseType.GetField("_masterLayout", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var _masterLayout = (ViewGroup)fieldInfo.GetValue(this); var lp = new DrawerLayout.LayoutParams(_masterLayout.LayoutParameters); if (Application.Current.Properties.ContainsKey("AppLocale") && !string.IsNullOrEmpty(Application.Current.Properties["AppLocale"].ToString())) { var languageculture = Application.Current.Properties["AppLocale"].ToString(); if (languageculture == "ar-AE") { lp.Gravity = (int)GravityFlags.Right; } else { lp.Gravity = (int)GravityFlags.Left; } } else { lp.Gravity = (int)GravityFlags.Left; } _masterLayout.LayoutParameters = lp; }
protected override void OnElementChanged(VisualElement oldElement, VisualElement newElement) { base.OnElementChanged(oldElement, newElement); var fieldInfo = GetType().BaseType.GetField("_masterLayout", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var _masterLayout = (ViewGroup)fieldInfo.GetValue(this); var lp = new DrawerLayout.LayoutParams(_masterLayout.LayoutParameters); lp.Gravity = (int)GravityFlags.Right; _masterLayout.LayoutParameters = lp; }
void LayoutAsFlyout() { var flyoutView = _flyoutView; if (MauiContext == null || _navigationRoot == null || flyoutView == null) { return; } _sideBySideView?.RemoveAllViews(); _sideBySideView?.RemoveFromParent(); if (_navigationRoot.Parent != PlatformView) { _navigationRoot.RemoveFromParent(); var layoutParameters = new LinearLayoutCompat.LayoutParams( LinearLayoutCompat.LayoutParams.MatchParent, LinearLayoutCompat.LayoutParams.MatchParent); DrawerLayout.AddView(_navigationRoot, 0, layoutParameters); } UpdateDetailsFragmentView(); if (flyoutView.Parent != PlatformView) { flyoutView.RemoveFromParent(); var layoutParameters = new DrawerLayout.LayoutParams( (int)FlyoutWidth, DrawerLayout.LayoutParams.MatchParent, (int)GravityFlags.Start); // Flyout has to get added after the content otherwise clicking anywhere // on the flyout will cause it to close and gesture // recognizers inside the flyout won't fire DrawerLayout.AddView(flyoutView, layoutParameters); } DrawerLayout.CloseDrawer(flyoutView); if (VirtualView is IToolbarElement te && te.Toolbar?.Handler is ToolbarHandler th) { th.SetupWithDrawerLayout(DrawerLayout); } }
protected override void OnElementChanged(VisualElement oldElement, VisualElement newElement) { base.OnElementChanged(oldElement, newElement); var width = Resources.DisplayMetrics.WidthPixels; var fieldInfo = GetType().BaseType.GetField("_masterLayout", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var _masterLayout = (ViewGroup)fieldInfo.GetValue(this); var lp = new DrawerLayout.LayoutParams(_masterLayout.LayoutParameters); lp.Width = 220; //int widthRatio = (int) (page.DrawerWidth * width); lp.Gravity = (int)GravityFlags.Left; _masterLayout.LayoutParameters = lp; }
public Pane(SplitViewPanePlacement placement) { StretchAffectsMeasure = true; VerticalAlignment = VerticalAlignment.Stretch; switch (placement) { case SplitViewPanePlacement.Left: HorizontalAlignment = HorizontalAlignment.Left; LayoutParameters = new DrawerLayout.LayoutParams(100, LayoutParams.MatchParent) { Gravity = (int)GravityFlags.Start }; break; case SplitViewPanePlacement.Right: HorizontalAlignment = HorizontalAlignment.Right; LayoutParameters = new DrawerLayout.LayoutParams(100, LayoutParams.MatchParent) { Gravity = (int)GravityFlags.End }; break; } }