Android SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
来源:互联网 发布:as3.0编程语言基础 编辑:程序博客网 时间:2024/04/28 18:01
Android SystemBar各种风格案例:
Android System Bar(Status Bar 和Navigation Bar)暗淡效果
Android Status Bar的隐藏与浮层效果
Android NavigationBar隐藏与浮层
Android SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
Android 响应System UI状态,焦点改变,手势处理
Using Immersive Full-Screen 模式
在Android4.4 (api 19)中出现新SYSTEM_UI_FLAG_IMMERSIVE
和SYSTEM_UI_FLAG_IMMERSIVE_STICKY
的标志,用于实现应用程序去真全屏(go truly “full screen” ).
先来了解下官方中Immersive Full-Screen介绍.
Immersive 各种状态:
使用Imnersive模式后,第一次会出现提示框,且这里的system bar 浮现在界面布局之上。
Sticky Immersion状态:
使用Sticky Immersion模式后,这里的system bar 浮现在界面布局之上,且过一会儿会自动消失。
4. 1 使用 Non-Sticky Immersion:
使用了SYSTEM_UI_FLAG_IMMERSIVE 标志,再与其他标志一起结合使用,当用户屏幕中滑动,System bar会重新出现。
/** * 隐藏NavigationBar */ var action_navigation_bar_hide = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION /** * 全屏,会隐藏StatusBar */ var action_hide_status_bar = View.SYSTEM_UI_FLAG_FULLSCREEN /** * 系统4.1或者更高版本,可以使StatusBar浮在内容上面, * * 与 View.SYSTEM_UI_FLAG_FULLSCREEN效果类似 */ var action_hide_status_bar_float = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN /** * 系统4.1或者更高版本,可以让NavigationBar浮在内容上面。 */ var action_navigation_bar_hide_float = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION /** * 与SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION或者SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN * 结合使用,确保布局稳定 */ var action_stable = View.SYSTEM_UI_FLAG_LAYOUT_STABLE /** * 系统4.4 出现,该flag可以让触碰屏幕,程序重新出现System bar。 */ var action_immersive = View.SYSTEM_UI_FLAG_IMMERSIVE /** * Immersive风格 */ fun setImmersiveStyle(window: Window) { var flag = action_navigation_bar_hide or action_hide_status_bar or action_navigation_bar_hide_float or action_hide_status_bar_float or action_stable or action_immersive window.decorView.systemUiVisibility = flag }
效果如下:
4. 2 使用Sticky Immersion模式:
使用了SYSTEM_UI_FLAG_IMMERSIVE_STICKY
标志,再与其他标志一起结合使用,当用户屏幕中滑动,System bar会重新出现,但过一会儿会自动消失。
/** * 隐藏NavigationBar */ var action_navigation_bar_hide = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION /** * 全屏,会隐藏StatusBar */ var action_hide_status_bar = View.SYSTEM_UI_FLAG_FULLSCREEN /** * 系统4.1或者更高版本,可以使StatusBar浮在内容上面, * * 与 View.SYSTEM_UI_FLAG_FULLSCREEN效果类似 */ var action_hide_status_bar_float = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN /** * 系统4.1或者更高版本,可以让NavigationBar浮在内容上面。 */ var action_navigation_bar_hide_float = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION /** * 与SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION或者SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN * 结合使用,确保布局稳定 */ var action_stable = View.SYSTEM_UI_FLAG_LAYOUT_STABLE /** * 系统4.4 出现,该flag触碰屏幕,可以让系统bar出现,但是一会儿自动消失。Sticky方式 */ var action_immersive_sticky = View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY /** * Sticky风格 */ fun setStickyStyle(window: Window) { var flag = action_navigation_bar_hide or action_hide_status_bar or action_hide_status_bar_float or action_navigation_bar_hide_float or action_stable or action_immersive_sticky window.decorView.systemUiVisibility = flag }
效果如下:
本项目案例:https://github.com/13767004362/ManageSystemUIDemo
参考资源:
- 官方介绍:https://developer.android.google.cn/training/system-ui/index.html
阅读全文
1 0
- Android SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
- 【android】隐藏title bar和system navigation bar,status bar
- System Bar (Status Bar Navigation Bar)
- Android System Bar(Status Bar 和Navigation Bar)暗淡效果
- Android 实现Navigation Bar和Status Bar全透明
- Android navigation bar and the status bar
- status bar 、action bar、navigation bar height
- Android中显示,隐藏Status Bar和Navigation Bar,沉浸式体验
- transparent Status bar and navigation bar(转)
- android 平板的action bar、status bar、navigation bar的高度
- 设置navigation bar背景图片
- 设置Navigation Bar背景图片
- Navigation Bar色设置
- android 获取系统顶部状态栏(Status Bar)与底部导航栏( 获取底部浮动菜单 Navigation Bar)的高度
- Android之Translucent Bar半透明栏和immersive bar沉浸式的区别
- android 隐藏navigation bar
- Android Navigation Bar
- Wrestling with Status Bars and Navigation Bars on iOS 7(在处理iOS7中的Status Bar和Navigation Bar时的挣扎)
- DELETE ADJACENT DUPLICATES FROM语句的深入研究及应用
- css样式对太长的文字部分显示,鼠标移上全显示
- 关于升级swif3.0,Xcode8和iOS 10的一些东西
- java Class类
- Apsara Clouder云计算专项技能认证:云服务器管理运维,你了解多少?
- Android SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
- java在windows上获取网卡的mac地址
- sql 月 日 年 周 。。 分组
- [笔记分享] [OS] Linux的内核同步
- easyui 带按钮的textbox
- Android学习笔记-Application初步了解总结
- System.loadLibrary("native-lib")出错
- 二级菜单
- Windows7下Python安装Numpy、Matplotlib以及Scipy时出现的问题以及解决办法