Beispiel #1
0
        void ShowBackgroundForPopup(Android.Graphics.Color color)
        {
            if (_popupBasePage == null)
            {
                return;
            }
            if (_popupRenderer == null)
            {
                return;
            }
            _backgroundOverlay = new global::Android.Widget.LinearLayout(Android.App.Application.Context);
            _pageRenderer.ViewGroup.AddView(_backgroundOverlay);
            _backgroundOverlay.SetBackgroundColor(color);

            _backgroundOverlay.Touch -= HidePopup;
            _backgroundOverlay.Touch += HidePopup;

            var metrics = _pageRenderer.Resources.DisplayMetrics;

            _backgroundOverlay.Layout(
                0,
                0,
                (int)(ScreenSizeHelper.ScreenWidth * metrics.Density),
                (int)(ScreenSizeHelper.ScreenHeight * metrics.Density));
        }
        void ShowBackgroundOverlay (double alpha)
        {
            if (_basePage == null)
                return;
            var menu = _basePage.SlideMenu;
            if (menu == null)
                return;

            double value = (double)(alpha * _basePage.SlideMenu.BackgroundViewColor.A);
            if (_backgroundOverlay != null) {
                var color = _basePage.SlideMenu.BackgroundViewColor.ToAndroid ();
                color.A = (Byte)(255 * value);
                _backgroundOverlay.SetBackgroundColor (color);
                return;
            }
            _backgroundOverlay = new global::Android.Widget.LinearLayout (Android.App.Application.Context);
            _pageRenderer.ViewGroup.AddView (_backgroundOverlay);
            _backgroundOverlay.SetBackgroundColor (_basePage.SlideMenu.BackgroundViewColor.ToAndroid ());

            _backgroundOverlay.Touch -= HideMenu;
            _backgroundOverlay.Touch += HideMenu;
            var metrics = _pageRenderer.Resources.DisplayMetrics;
            _backgroundOverlay.Layout (
                0,
                0,
                (int)(ScreenSizeHelper.ScreenWidth * metrics.Density),
                (int)(ScreenSizeHelper.ScreenHeight * metrics.Density));

        }
        public unsafe ApplozicPermissions(global::Android.App.Activity p0, global::Android.Widget.LinearLayout p1)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                if (((object)this).GetType() != typeof(ApplozicPermissions))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Landroid/app/Activity;Landroid/widget/LinearLayout;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Landroid/app/Activity;Landroid/widget/LinearLayout;)V", __args);
                    return;
                }

                if (id_ctor_Landroid_app_Activity_Landroid_widget_LinearLayout_ == IntPtr.Zero)
                {
                    id_ctor_Landroid_app_Activity_Landroid_widget_LinearLayout_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Landroid/app/Activity;Landroid/widget/LinearLayout;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Landroid_app_Activity_Landroid_widget_LinearLayout_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Landroid_app_Activity_Landroid_widget_LinearLayout_, __args);
            } finally {
            }
        }
        void ShowBackgroundForPopup(Android.Graphics.Color color)
        {
            if (_popupBasePage == null)
            {
                return;
            }
            if (_popupRenderer == null)
            {
                return;
            }
            _backgroundOverlay = new global::Android.Widget.LinearLayout(Forms.Context);
            _pageRenderer.ViewGroup.AddView(_backgroundOverlay);
            _backgroundOverlay.SetBackgroundColor(color);

            _backgroundOverlay.Touch += (object sender, Android.Views.View.TouchEventArgs e) => {
                _popupBasePage.HidePopupAction();
            };
            var metrics = _pageRenderer.Resources.DisplayMetrics;

            _backgroundOverlay.Layout(
                0,
                0,
                (int)(ScreenSizeHelper.ScreenWidth * metrics.Density),
                (int)(ScreenSizeHelper.ScreenHeight * metrics.Density));
        }
Beispiel #5
0
 void HideBackgroundOverlay()
 {
     if (_backgroundOverlay != null)
     {
         _pageRenderer.RemoveView(_backgroundOverlay);
         _backgroundOverlay.Dispose();
         _backgroundOverlay = null;
     }
 }
 void HideBackgroundOverlay ()
 {
     try {
         if (_backgroundOverlay != null) {
             _pageRenderer.RemoveView (_backgroundOverlay);
             _backgroundOverlay.Dispose ();
             _backgroundOverlay = null;
         }
     } catch (ObjectDisposedException) {
         // On Android, _backgroundOverlay was not null but HAD been disposed. Attempting to remove it caused an ObjectDisposedException
         _backgroundOverlay = null;
         // Swallow this - let anything else cause a problem
     }
 }
 void HideBackgroundForPopup()
 {
     _currentPopup = null;
     if (_popupRenderer != null)
     {
         _pageRenderer.RemoveView(_popupRenderer.ViewGroup);
         _popupRenderer = null;
     }
     if (_backgroundOverlay != null)
     {
         _pageRenderer.RemoveView(_backgroundOverlay);
         _backgroundOverlay.Dispose();
         _backgroundOverlay = null;
     }
 }
 void HideBackgroundForPopup ()
 {
     _currentPopup = null;
     if (_popupRenderer != null) {
         if (_popupRenderer.View.HasFocus) {
             InputMethodManager inputManager = (InputMethodManager)Android.App.Application.Context.GetSystemService (Context.InputMethodService);
             inputManager.HideSoftInputFromWindow (_popupRenderer.View.WindowToken, HideSoftInputFlags.None);
         }
         _pageRenderer.RemoveView (_popupRenderer.View);
         _popupRenderer.Dispose ();
         _popupRenderer = null;
     }
     if (_backgroundOverlay != null) {
         _pageRenderer.RemoveView (_backgroundOverlay);
         _backgroundOverlay.Dispose ();
         _backgroundOverlay = null;
     }
 }
        void ShowBackgroundOverlay(double alpha)
        {
            if (_basePage == null)
                return;
            var menu = _basePage.SlideMenu;
            if (menu == null)
                return;

            double value = (double)(alpha * _basePage.SlideMenu.BackgroundViewColor.A);
            if (_backgroundOverlay != null) {
                var color = _basePage.SlideMenu.BackgroundViewColor.ToAndroid ();
                color.A = (Byte)(255 * value);
                _backgroundOverlay.SetBackgroundColor (color);
                return;
            }
            _backgroundOverlay = new global::Android.Widget.LinearLayout (Forms.Context);
            _pageRenderer.ViewGroup.AddView (_backgroundOverlay);
            _backgroundOverlay.SetBackgroundColor (_basePage.SlideMenu.BackgroundViewColor.ToAndroid ());

            _backgroundOverlay.Touch += (object sender, Android.Views.View.TouchEventArgs e) => {
                _basePage.HideMenuAction ();
            };
            var metrics = _pageRenderer.Resources.DisplayMetrics;
            _backgroundOverlay.Layout (
                0,
                0,
                (int)(ScreenSizeHelper.ScreenWidth * metrics.Density),
                (int)(ScreenSizeHelper.ScreenHeight * metrics.Density));
        }
 void HideBackgroundOverlay()
 {
     if (_backgroundOverlay != null) {
         _pageRenderer.RemoveView (_backgroundOverlay);
         _backgroundOverlay.Dispose ();
         _backgroundOverlay = null;
     }
 }