• Android 沉浸式全屏


    Android 4.4 带来了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏、 虚拟按键动态隐藏, 应用可 以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 “身临其境” 的体验。

    Android 4.4 中提供了 IMMERSIVE 和 IMMERSIVE_STICKY 标记, 可以用这两个标记与 SYSTEM_UI_FLAG_HIDE_NAVIGATION 和SYSTEM_UI_FLAG_FULLSCREEN 一起使用, 来实现沉 浸模式。

    注意: 这些标 记在Xamarin.Android 中被映射为 Android.Views.SystemUiFlags 枚举。

    普通全屏模式 (Fullscreen)

    普通全屏模式通过设置下面的标记位实现:

    var uiOpts = SystemUiFlags.LayoutStable
            | SystemUiFlags.LayoutHideNavigation
            | SystemUiFlags.LayoutFullscreen
            | SystemUiFlags.Fullscreen
            | SystemUiFlags.HideNavigation;
    Window.DecorView.SystemUiVisibility = uiOpts;
    

    在普通全屏模式下, 应用可以占据屏幕的全部空间, 当用户触摸屏幕的任何部分时, 会自动退出全屏模 式, 这种模式比较适用于视频播放器类应用。

    沉浸模式 (Immersive)

    沉浸模式通过设置下面的标记位实现:

    var uiOpts = uiOpts = SystemUiFlags.LayoutStable
            | SystemUiFlags.LayoutHideNavigation
            | SystemUiFlags.LayoutFullscreen
            | SystemUiFlags.Fullscreen
            | SystemUiFlags.HideNavigation
            | SystemUiFlags.Immersive;
    Window.DecorView.SystemUiVisibility = uiOpts;
    

    在沉浸模式下, 应用占据屏幕的全部空间, 只有当用户从屏幕的上方边沿处向下划动时, 才会退出沉浸 模式, 用户触摸屏幕其它部分是, 不会退出该模式, 这种模式比较适用于阅读器、 杂志类应用。

    黏性沉浸模式 (Sticky Immersive)

    黏性沉浸模式通过设置下面的标记位来实现:

    uiOpts = SystemUiFlags.LayoutStable
            | SystemUiFlags.LayoutHideNavigation
            | SystemUiFlags.LayoutFullscreen
            | SystemUiFlags.Fullscreen
            | SystemUiFlags.HideNavigation
            | SystemUiFlags.ImmersiveSticky;
    Window.DecorView.SystemUiVisibility = uiOpts;
    

    在黏性沉浸模式下, 应用使用屏幕的全部空间, 当用户从屏幕的上方边沿处向下滑动时, 也不会退出该 模式, 但是系统界面 (状态栏、 导航栏) 将会以半透明的效果浮现在应用视图之上 (如下图所示), 只有当用户点击系统界面上的控件时, 才会退出黏性沉浸模式。 因此, 这种全屏模式使用与游戏、 绘 图类应用。

    黏性沉浸模式

    根据 Android 开发文档中提到, 应用在使用沉浸模式时最好将 ActionBar 设置为 Overlay 模式, 具体设置可以参考这里:https://developer.android.com/training/basics/actionbar/overlaying.html

    转自:http://beginor.github.io/2014/06/27/android-immersive-mode.html

  • 相关阅读:
    SPSS时间序列:频谱分析
    PureBasic—数控编辑框与调节块和进度条
    DELPHI2007 安装ACTIVEX插件的方法
    C++ builder的文件操作
    C++动态数组
    excel快速复制大量公式的方法
    Delphi XE5 如何与其他版本共存
    PureBasic 集成Form设计器的使用
    VS C++ 从一个窗口创建另一个窗口
    ENVI 5.0 Beta 体验——影像数据的显示
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4231585.html
Copyright © 2020-2023  润新知