コード例 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            var attrs = this.Window.Attributes;
            var hide  = true;

            if (hide)
            {
                _originalFlags         = attrs.Flags;
                attrs.Flags           |= Android.Views.WindowManagerFlags.Fullscreen;
                this.Window.Attributes = attrs;
            }
            else
            {
                attrs.Flags            = _originalFlags;
                this.Window.Attributes = attrs;
            }



            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
        }
コード例 #2
0
        public TurnOnOffScreen(Window window)
        {
            m_Window = window;
            WindowManagerFlags screenFlags = WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.DismissKeyguard;

            m_TurnOff = new ExecuteAction(() =>
            {
                try
                {
                    m_Window.AddFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(m_Window.Attributes);
                    attributes.ScreenBrightness = 0f;
                    m_Window.Attributes         = attributes;
                }
                catch
                {
                }
            });
            m_TurnOn = new ExecuteAction(() =>
            {
                try
                {
                    m_Window.ClearFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(m_Window.Attributes);
                    attributes.ScreenBrightness = -1f;
                    m_Window.Attributes         = attributes;
                }
                catch
                {
                }
            });
        }
コード例 #3
0
        public void Ocultar()
        {
            var activity = CrossCurrentActivity.Current.Activity;
            var attrs    = activity.Window.Attributes;

            originalFlags = attrs.Flags;
            attrs.Flags  |= Android.Views.WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #4
0
ファイル: StatusBar.cs プロジェクト: danielbrenom/Ao3Reader
        public void HideStatusBar()
        {
            var activity = (Activity)Application.Context;
            var attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags                = WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #5
0
        void IStatusBar.Hide()
        {
            var activity = (Activity)Forms.Context;
            var attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags               |= WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #6
0
        public void HideStatusBar()
        {
            var activity  = (Activity)Forms.Context;
            var attibutes = activity.Window.Attributes;

            windowManager              = attibutes.Flags;
            attibutes.Flags           |= WindowManagerFlags.Fullscreen | WindowManagerFlags.TranslucentStatus;
            activity.Window.Attributes = attibutes;
        }
コード例 #7
0
        public void HideStatusBar()
        {
            var activity = (Activity)Forms.Context;
            var attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags               |= Android.Views.WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #8
0
        public void HideStatusBar()
        {
            Activity activity = CrossCurrentActivity.Current.Activity;
            var      attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags               |= WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #9
0
        public void HideStatusBar()
        {
            var activity = (Activity)Platform.CurrentActivity;
            var attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags               |= Android.Views.WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #10
0
        public SystemBarTintManager(Activity activity)
        {
            Window    win            = activity.Window;
            ViewGroup decorViewGroup = (ViewGroup)win.DecorView;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
            {
                // check theme attrs
                int[]      attrs = { Android.Resource.Attribute.WindowTranslucentStatus,
                                     Android.Resource.Attribute.WindowTranslucentNavigation };
                TypedArray a = activity.ObtainStyledAttributes(attrs);
                try
                {
                    mStatusBarAvailable = a.GetBoolean(0, false);
                    mNavBarAvailable    = a.GetBoolean(1, false);
                }
                finally
                {
                    a.Recycle();
                }


                // check window flags
                //IWindowManager.LayoutParams
                WindowManagerLayoutParams winParams = win.Attributes;
                WindowManagerFlags        bits      = WindowManagerFlags.TranslucentStatus;
                if ((winParams.Flags & bits) != 0)
                {
                    mStatusBarAvailable = true;
                }
                bits = WindowManagerFlags.TranslucentNavigation;
                if ((winParams.Flags & bits) != 0)
                {
                    mNavBarAvailable = true;
                }
            }

            mConfig = new SystemBarConfig(activity, mStatusBarAvailable, mNavBarAvailable);
            // device might not have virtual navigation keys
            if (!mConfig.hasNavigtionBar())
            {
                mNavBarAvailable = false;
            }

            if (mStatusBarAvailable)
            {
                setupStatusBarView(activity, decorViewGroup);
            }
            if (mNavBarAvailable)
            {
                setupNavBarView(activity, decorViewGroup);
            }
        }
コード例 #11
0
 public void HideStatusBar()
 {
     //var activity = (Activity)Forms.Context;
     //var attrs = activity.Window.Attributes;
     //_originalFlags = attrs.Flags;
     //attrs.Flags |= Android.Views.WindowManagerFlags.Fullscreen;
     //activity.Window.Attributes = attrs;
     if (MainActivity.GlobalWindow == null)
     {
         return;
     }
     _originalFlags = MainActivity.GlobalWindow.Attributes.Flags;
     MainActivity.GlobalWindow.AddFlags(WindowManagerFlags.Fullscreen);
     MainActivity.GlobalWindow.ClearFlags(WindowManagerFlags.ForceNotFullscreen);
 }
コード例 #12
0
        /// <summary>
        /// Hide
        /// </summary>
        public void HideStatusBar()
        {
            if (IsHide)
            {
                return;
            }

            IsHide = true;

            var activity = (AppCompatActivity)Forms.Context;
            var attrs    = activity.Window.Attributes;

            _originalFlags             = attrs.Flags;
            attrs.Flags               |= WindowManagerFlags.Fullscreen;
            activity.Window.Attributes = attrs;
        }
コード例 #13
0
        private void setTranslucentStatus(bool on)
        {
            Android.Views.Window      win       = Window;
            WindowManagerLayoutParams winParams = win.Attributes;
            WindowManagerFlags        bits      = WindowManagerFlags.TranslucentStatus;

            if (on)
            {
                winParams.Flags |= bits;
            }
            else
            {
                winParams.Flags &= ~bits;
            }
            win.Attributes = winParams;
        }
コード例 #14
0
        /**
         * I'm NOT completely sure how all this bitwise things work...
         *
         * @param curFlags
         * @return
         */
        private WindowManagerFlags ComputeFlags(WindowManagerFlags curFlags)
        {
            curFlags &= ~(
                WindowManagerFlags.IgnoreCheekPresses |
                WindowManagerFlags.NotFocusable |
                WindowManagerFlags.NotTouchable |
                WindowManagerFlags.WatchOutsideTouch |
                WindowManagerFlags.LayoutNoLimits |
                WindowManagerFlags.AltFocusableIm);
            curFlags |= WindowManagerFlags.IgnoreCheekPresses;
            curFlags |= WindowManagerFlags.NotFocusable;
            curFlags |= WindowManagerFlags.NotTouchable;
            curFlags |= WindowManagerFlags.LayoutNoLimits;

            return(curFlags);
        }
コード例 #15
0
        public void HideStatusBar(bool hide)
        {
            var activity = (Activity)MainApplication.ActivityContext;
            var attrs    = activity.Window.Attributes;

            if (hide)
            {
                _originalFlags             = attrs.Flags;
                attrs.Flags               |= Android.Views.WindowManagerFlags.Fullscreen;
                activity.Window.Attributes = attrs;
            }
            else
            {
                attrs.Flags = _originalFlags;
                activity.Window.Attributes = attrs;
            }
        }
コード例 #16
0
        public void HideStatusBar()
        {
            if (!IsStatusBarShowing)
            {
                return;
            }

            WindowManagerLayoutParams attrs = Platform.CurrentActivity.Window !.Attributes !;

            _orginalFlags = attrs.Flags;

            attrs.Flags |= WindowManagerFlags.Fullscreen;

            Platform.CurrentActivity.Window.Attributes = attrs;

            IsStatusBarShowing = false;
        }
コード例 #17
0
ファイル: MainActivity.cs プロジェクト: lerljaku/GayTimer
        public override void OnConfigurationChanged(Configuration newConfig)
        {
            base.OnConfigurationChanged(newConfig);

            if (newConfig.Orientation == Orientation.Landscape)
            {
                var attrs = Window.Attributes;
                m_originalFlags   = attrs.Flags;
                attrs.Flags      |= WindowManagerFlags.Fullscreen;
                Window.Attributes = attrs;
            }
            else
            {
                var attrs = Window.Attributes;
                attrs.Flags       = m_originalFlags;
                Window.Attributes = attrs;
            }
        }
コード例 #18
0
ファイル: MainActivity.cs プロジェクト: bleissem/babyphone
        private void InitializeIoC()
        {
            if (SimpleIoc.Default.IsRegistered <bleissem.babyphone.Settings>())
            {
                return;
            }

            SimpleIoc.Default.Register <ICreateTimer>(() => new MyTimerCreator(), true);

            var      dbPath   = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "Babyphone.Settings.db3");
            Settings settings = new Settings(dbPath);

            SimpleIoc.Default.Register <bleissem.babyphone.Settings>(() => settings, true);

            AudioManager audioManager = (AudioManager)this.GetSystemService(Context.AudioService);

            Speaker speaker = new Speaker(audioManager);

            SimpleIoc.Default.Register <ISpeaker>(() => speaker, true);

            MuteUnmutePhone mum = new MuteUnmutePhone(audioManager);

            SimpleIoc.Default.Register <IUnMutePhone>(() => mum, true);
            SimpleIoc.Default.Register <IMutePhone>(() => mum, true);

            WindowManagerFlags screenFlags = WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.DismissKeyguard;

            TurnOnOffScreenViewModel turnOnOffScreen = new TurnOnOffScreenViewModel(
                new ExecuteAction(() =>
            {
                try
                {
                    this.Window.AddFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(this.Window.Attributes);
                    attributes.ScreenBrightness = 0f;
                    this.Window.Attributes      = attributes;
                }
                catch
                {
                }
            }),
                new ExecuteAction(() =>
            {
                try
                {
                    this.Window.ClearFlags(screenFlags);
                    var attributes = new WindowManagerLayoutParams();
                    attributes.CopyFrom(this.Window.Attributes);
                    attributes.ScreenBrightness = -1f;
                    this.Window.Attributes      = attributes;
                }
                catch
                {
                }
            }));


            SimpleIoc.Default.Register <ITurnOnOffScreen>(() => turnOnOffScreen, true);

            PhoneCallTimer pct = new PhoneCallTimer(this.ApplicationContext);

            SimpleIoc.Default.Register <IReactOnCall>(() => pct, true);
            SimpleIoc.Default.Register <INotifiedOnCalling>(() => pct, true);

            ForceHangup fh = new ForceHangup();

            fh.Register(this.ForceHangup);
            SimpleIoc.Default.Register <IForceHangup>(() => fh, true);

            ReadContacts rc = new ReadContacts();

            rc.OnFinished += ReadContactsFinished;
            rc.Execute(this);
            SimpleIoc.Default.Register <ReadContacts>(() => rc, true);

            CallNumber callNumber = new CallNumber();

            callNumber.Register(this.Dial, this.CanDial);
            SimpleIoc.Default.Register <ICallNumber>(() => callNumber, true);

            SimpleIoc.Default.Register <IAudioRecorder>(() => new AudioRecorderViewModel(), true);

            SimpleIoc.Default.Register <MainViewModel>(true);
            pct.Register(OnHangUp);
        }