protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_style_delivery);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) // 21
            {
                Window.SetStatusBarColor(new Android.Graphics.Color(0xf0f0f0));
            }
            if (Build.VERSION.SdkInt >= BuildVersionCodes.M) // 23
            {
                SystemUiFlags systemUiVisibility = (SystemUiFlags)Window.DecorView.SystemUiVisibility;
                systemUiVisibility |= SystemUiFlags.LightStatusBar;
                Window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
            }

            mToolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            mToolbar.NavigationClick += (sender, e) => { Finish(); };

            mRefreshLayout = FindViewById(Resource.Id.refreshLayout) as IRefreshLayout;
            if (isFirstEnter)
            {
                isFirstEnter = false;
                mRefreshLayout.AutoRefresh();//第一次进入触发自动刷新,演示效果
            }

            var recyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView);

            recyclerView.SetItemAnimator(new DefaultItemAnimator());
            recyclerView.SetLayoutManager(new LinearLayoutManager(this));
            recyclerView.AddItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.Vertical));
            recyclerView.SetAdapter(new CustomBaseRecyclerAdapter(Item.List, Resource.Layout.listitem_style_delivery, this));
        }
      public static void immersive(Window window, int color, float alpha)
      {
          if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
          {   // 21
              window.ClearFlags(WindowManagerFlags.TranslucentStatus);
              window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
              window.SetStatusBarColor(new Android.Graphics.Color(mixtureColor(color, alpha)));

              SystemUiFlags systemUiVisibility = (SystemUiFlags)window.DecorView.SystemUiVisibility;
              systemUiVisibility |= SystemUiFlags.LayoutFullscreen;
              systemUiVisibility |= SystemUiFlags.LayoutStable;
              window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
          }
          else if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
          {   // 19
              window.AddFlags(WindowManagerFlags.TranslucentStatus);
              setTranslucentView((ViewGroup)window.DecorView, color, alpha);
          }
          else if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBean)
          {   // 16
              SystemUiFlags systemUiVisibility = (SystemUiFlags)window.DecorView.SystemUiVisibility;
              systemUiVisibility |= SystemUiFlags.LayoutFullscreen;
              systemUiVisibility |= SystemUiFlags.LayoutStable;
              window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
          }
      }
示例#3
0
            void SetNavVisibility(bool visible)
            {
                SystemUiFlags newVis = mBaseSystemUiVisibility;

                if (!visible)
                {
                    newVis |= SystemUiFlags.LowProfile | SystemUiFlags.Fullscreen
                              | SystemUiFlags.HideNavigation | SystemUiFlags.Immersive;
                }
                bool changed = (int)newVis == (int)SystemUiVisibility;

                // Unschedule any pending event to hide navigation if we are
                // changing the visibility, or making the UI visible.
                if (changed || visible)
                {
                    var h = Handler;
                    if (h != null)
                    {
                        h.RemoveCallbacks(mNavHider);
                    }
                }

                // Set the new desired visibility.
                SystemUiVisibility    = (StatusBarVisibility)newVis;
                mTitleView.Visibility = visible ? ViewStates.Visible : ViewStates.Invisible;
                mSeekView.Visibility  = visible ? ViewStates.Visible : ViewStates.Invisible;
            }
示例#4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            // The default current directory on android is '/'.
            // On some devices '/' maps to the app data directory. On others it maps to the root of the internal storage.
            // In order to have a consistent current directory on all devices the full path of the app data directory is set as the current directory.
            System.Environment.CurrentDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

            base.OnCreate(savedInstanceState);

            SetContentView(gameView = new AndroidGameView(this, CreateGame()));

            UIVisibilityFlags = SystemUiFlags.LayoutFlags | SystemUiFlags.ImmersiveSticky | SystemUiFlags.HideNavigation | SystemUiFlags.Fullscreen;

            Debug.Assert(Window != null);

            // Firing up the on-screen keyboard (eg: interacting with textboxes) may cause the UI visibility flags to be altered thus showing the navigation bar and potentially the status bar
            // This sets back the UI flags to hidden once the interaction with the on-screen keyboard has finished.
            Window.DecorView.SystemUiVisibilityChange += (_, e) =>
            {
                if ((SystemUiFlags)e.Visibility != systemUiFlags)
                {
                    UIVisibilityFlags = systemUiFlags;
                }
            };

            if (Build.VERSION.SdkInt >= BuildVersionCodes.P)
            {
                Debug.Assert(Window.Attributes != null);
                Window.Attributes.LayoutInDisplayCutoutMode = LayoutInDisplayCutoutMode.ShortEdges;
            }

            gameView.HostStarted += host =>
            {
                host.AllowScreenSuspension.Result.BindValueChanged(allow =>
                {
                    RunOnUiThread(() =>
                    {
                        if (!allow.NewValue)
                        {
                            Window.AddFlags(WindowManagerFlags.KeepScreenOn);
                        }
                        else
                        {
                            Window.ClearFlags(WindowManagerFlags.KeepScreenOn);
                        }
                    });
                }, true);
            };
        }
示例#5
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            var g = new Game1();

            SetContentView((View)g.Services.GetService(typeof(View)));
            g.Run();

            SystemUiFlags flags = SystemUiFlags.HideNavigation
                                  | SystemUiFlags.Fullscreen
                                  | SystemUiFlags.ImmersiveSticky
                                  | SystemUiFlags.Immersive;

            Window.DecorView.SystemUiVisibility = (StatusBarVisibility)flags;
            Immersive = true;
        }
示例#6
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            _game  = new MainGame(PlatformEnum.Android, autoFacInit: AutoFacAndroid.Register);
            _view  = _game.Services.GetService(typeof(View)) as View;
            _flags = SystemUiFlags.Fullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.Immersive |
                     SystemUiFlags.ImmersiveSticky | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LowProfile |
                     SystemUiFlags.Visible;

            Immersive = true;
            SetContentView(_view);

            _view.SystemUiVisibility        = (StatusBarVisibility)_flags;
            _view.SystemUiVisibilityChange += ViewOnSystemUiVisibilityChange;
            _game.Run();
        }
 private void setThemeColor(int colorPrimary, int colorPrimaryDark)
 {
     mToolbar.SetBackgroundResource(colorPrimary);
     mToolbar.SetTitleTextColor(ContextCompat.GetColor(this, Android.Resource.Color.White));
     mToolbar.SetNavigationIcon(Resource.Drawable.ic_arrow_back_white_24dp);
     mRefreshLayout.SetPrimaryColorsId(colorPrimary, Android.Resource.Color.White);
     if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) //21
     {
         Window.SetStatusBarColor(new Android.Graphics.Color(ContextCompat.GetColor(this, colorPrimaryDark)));
     }
     if (Build.VERSION.SdkInt >= BuildVersionCodes.M) //23
     {
         SystemUiFlags systemUiVisibility = (SystemUiFlags)Window.DecorView.SystemUiVisibility;
         systemUiVisibility |= SystemUiFlags.LightStatusBar;
         Window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
     }
 }
示例#8
0
        protected override void OnResume()
        {
            base.OnResume();
            var           decorView = Window.DecorView;
            SystemUiFlags Flag      = SystemUiFlags.HideNavigation;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBean)
            {
                Flag |= SystemUiFlags.Fullscreen;
            }
            if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
            {
                Flag |= SystemUiFlags.ImmersiveSticky;
            }

            decorView.SystemUiVisibility = (StatusBarVisibility)Flag;
        }
示例#9
0
        private static void darkModeForM(Window window, bool dark)
        {
            //        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            //        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            //        window.setStatusBarColor(Color.TRANSPARENT);

            SystemUiFlags systemUiVisibility = (SystemUiFlags)window.DecorView.SystemUiVisibility;

            if (dark)
            {
                systemUiVisibility |= SystemUiFlags.LightStatusBar;
            }
            else
            {
                systemUiVisibility &= ~SystemUiFlags.LightStatusBar;
            }
            window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
        }
示例#10
0
        public static void UpdateImmersiveMode()
        {
            if (Build.VERSION.SdkInt < BuildVersionCodes.Kitkat)
            {
                return;
            }

            const SystemUiFlags flags = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.Fullscreen | SystemUiFlags.ImmersiveSticky;
            var flagResult            = flags & Instance.Window.DecorView.WindowSystemUiVisibility;

            if (Immersed() || flagResult != SystemUiFlags.Visible)
            {
                Instance.Window.DecorView.SystemUiVisibility = StatusBarVisibility.Hidden;
            }
            else
            {
                Instance.Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;
            }
        }
示例#11
0
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            SystemUiFlags uiOpts = SystemUiFlags.Visible;

            Console.WriteLine(item.TitleFormatted);

            if (item.ItemId == Resource.Id.action_fullscreen)
            {
                uiOpts = SystemUiFlags.LayoutStable
                         | SystemUiFlags.LayoutHideNavigation
                         | SystemUiFlags.LayoutFullscreen
                         | SystemUiFlags.Fullscreen
                         | SystemUiFlags.HideNavigation;
            }
            if (item.ItemId == Resource.Id.action_immersive)
            {
                uiOpts = SystemUiFlags.LayoutStable
                         | SystemUiFlags.LayoutHideNavigation
                         | SystemUiFlags.LayoutFullscreen
                         | SystemUiFlags.Fullscreen
                         | SystemUiFlags.HideNavigation
                         | SystemUiFlags.Immersive;
            }
            if (item.ItemId == Resource.Id.action_immersive_stick)
            {
                uiOpts = SystemUiFlags.LayoutStable
                         | SystemUiFlags.LayoutHideNavigation
                         | SystemUiFlags.LayoutFullscreen
                         | SystemUiFlags.Fullscreen
                         | SystemUiFlags.HideNavigation
                         | SystemUiFlags.ImmersiveSticky;
            }
            if (item.ItemId == Resource.Id.action_reset)
            {
                uiOpts = SystemUiFlags.LayoutStable
                         | SystemUiFlags.LayoutHideNavigation
                         | SystemUiFlags.LayoutFullscreen;
            }
            Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiOpts;
            return(true);
        }
        public void OnItemClick(AdapterView parent, View view, int position, long id)
        {
            switch (Item.List[position].Title)
            {
            case Item.默认主题:
                mToolbar.SetBackgroundResource(Android.Resource.Color.White);
                mToolbar.SetTitleTextColor(0xbbbbbb);
                mToolbar.SetNavigationIcon(Resource.Drawable.ic_arrow_back_gray_24dp);
                mRefreshLayout.SetPrimaryColors(0xf0f0f0, 0xffffff);
                if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)     //21
                {
                    Window.SetStatusBarColor(new Android.Graphics.Color(0xf0f0f0));
                }
                if (Build.VERSION.SdkInt >= BuildVersionCodes.M)     //23
                {
                    SystemUiFlags systemUiVisibility = (SystemUiFlags)Window.DecorView.SystemUiVisibility;
                    systemUiVisibility |= SystemUiFlags.LightStatusBar;
                    Window.DecorView.SystemUiVisibility = (StatusBarVisibility)systemUiVisibility;
                }
                break;

            case Item.蓝色主题:
                setThemeColor(Resource.Color.colorPrimary, Resource.Color.colorPrimaryDark);
                break;

            case Item.绿色主题:
                setThemeColor(Android.Resource.Color.HoloGreenLight, Android.Resource.Color.HoloGreenDark);
                break;

            case Item.红色主题:
                setThemeColor(Android.Resource.Color.HoloRedLight, Android.Resource.Color.HoloRedDark);
                break;

            case Item.橙色主题:
                setThemeColor(Android.Resource.Color.HoloOrangeLight, Android.Resource.Color.HoloOrangeDark);
                break;
            }
            mRefreshLayout.AutoRefresh();
        }
        /// <summary>
        /// Adjusts immersive full-screen flags depending on the screen orientation.
        /// </summary>
        /// <param name="config">The current configuration.</param>
        void AdjustFullScreen(Configuration config)
        {
            if (config.Orientation == Android.Content.Res.Orientation.Landscape)
            {
                SystemUiFlags uiVisibilityFlags = SystemUiFlags.LayoutStable
                                                  | SystemUiFlags.LayoutHideNavigation
                                                  | SystemUiFlags.LayoutFullscreen
                                                  | SystemUiFlags.HideNavigation
                                                  | SystemUiFlags.Fullscreen
                                                  | SystemUiFlags.ImmersiveSticky;

                Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiVisibilityFlags;
                scrollView.Visibility = ViewStates.Gone;
                PIPMovieView.ShouldAdjustViewBounds = false;
            }
            else
            {
                Window.DecorView.SystemUiVisibility = (StatusBarVisibility)SystemUiFlags.LayoutStable;
                scrollView.Visibility = ViewStates.Visible;
                PIPMovieView.ShouldAdjustViewBounds = true;
            }
        }
示例#14
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            Game teamStorGame = new Game(new PlayingState(new NukeField(9, 9, 10)));

            SetContentView((View)teamStorGame.Services.GetService(typeof(View)));

            SystemUiFlags uiOptions = SystemUiFlags.HideNavigation |
                                      SystemUiFlags.LayoutHideNavigation |
                                      SystemUiFlags.Fullscreen |
                                      SystemUiFlags.LayoutStable |
                                      SystemUiFlags.LowProfile |
                                      SystemUiFlags.Immersive |
                                      SystemUiFlags.ImmersiveSticky;

            Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiOptions;

            teamStorGame.Stats |= Game.DebugStats.FPS;
            //teamStorGame.Stats |= Game.DebugStats.General;
            teamStorGame.Run();
        }
示例#15
0
        public void SetImmersiveMode(bool isEnabled, bool isSticky)
        {
            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
            {
                if (!isEnabled && isImmersiveModeEnabled)
                {
                    Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(SystemUiFlags.LayoutStable |
                                                                                SystemUiFlags.LayoutHideNavigation |
                                                                                SystemUiFlags.LayoutFullscreen);

                    isImmersiveModeEnabled = false;
                }
                else if (isEnabled)
                {
                    SystemUiFlags flags = SystemUiFlags.LayoutStable |
                                          SystemUiFlags.LayoutHideNavigation |
                                          SystemUiFlags.LayoutFullscreen |
                                          SystemUiFlags.HideNavigation |
                                          SystemUiFlags.Fullscreen;

                    if (isSticky)
                    {
                        flags |= SystemUiFlags.ImmersiveSticky;
                        isImmersiveModeSticky = true;
                    }
                    else
                    {
                        flags |= SystemUiFlags.Immersive;
                        isImmersiveModeSticky = false;
                    }

                    Window.DecorView.SystemUiVisibility = (StatusBarVisibility)flags;

                    isImmersiveModeEnabled = true;
                }
            }
        }
示例#16
0
        private void HideSystemUi()
        {
            SystemUiFlags flags = SystemUiFlags.HideNavigation | SystemUiFlags.Fullscreen | SystemUiFlags.ImmersiveSticky;

            Window.DecorView.SystemUiVisibility = (StatusBarVisibility)flags;
        }