Пример #1
0
		protected override void OnFocusChanged(bool gainFocus, FocusSearchDirection direction, Rect previouslyFocusedRect)
		{
			Window window = ((Activity)Context).Window;
			if (gainFocus)
			{
				_startingMode = window.Attributes.SoftInputMode;
				window.SetSoftInputMode(SoftInput.AdjustPan);
			}
			else
				window.SetSoftInputMode(_startingMode);

			base.OnFocusChanged(gainFocus, direction, previouslyFocusedRect);
		}
Пример #2
0
        protected override void OnFocusChanged(bool gainFocus, FocusSearchDirection direction, ARect previouslyFocusedRect)
        {
            Window window = Context.GetActivity().Window;

            if (gainFocus)
            {
                _startingMode = window.Attributes.SoftInputMode;
                window.SetSoftInputMode(SoftInput.AdjustPan);
            }
            else
            {
                window.SetSoftInputMode(_startingMode);
            }

            base.OnFocusChanged(gainFocus, direction, previouslyFocusedRect);
        }
        void SetStatusBarVisibility(SoftInput mode)
        {
            if (!Forms.IsLollipopOrNewer)
            {
                return;
            }

            if (mode == SoftInput.AdjustResize)
            {
                Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(SystemUiFlags.Immersive);
            }
            else
            {
                Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(SystemUiFlags.LayoutFullscreen | SystemUiFlags.LayoutStable);
            }

            _layout?.Invalidate();
        }
Пример #4
0
        void SetSoftInputMode()
        {
            SoftInput adjust = SoftInput.AdjustPan;

            if (Xamarin.Forms.Application.Current != null)
            {
                var elementValue = Xamarin.Forms.Application.Current.OnThisPlatform().GetWindowSoftInputModeAdjust();
                switch (elementValue)
                {
                default:
                case WindowSoftInputModeAdjust.Pan:
                    adjust = SoftInput.AdjustPan;
                    break;

                case WindowSoftInputModeAdjust.Resize:
                    adjust = SoftInput.AdjustResize;
                    break;
                }
            }

            Window.SetSoftInputMode(adjust);
        }