Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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;
            }
        }