android系统状态栏与虚拟键导航栏与标题栏控制
来源:互联网 发布:山东竞彩网络实体店 编辑:程序博客网 时间:2024/05/17 21:54
状态栏与虚拟键
注意的是,低版本系统中是没有虚拟键盘的。
高版本系统中通过decorView控制状态栏与虚拟键导航栏:
如SDK>=16系统中隐藏状态栏代码如下:
if (Build.VERSION.SDK_INT >= 16) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN); }
常见的设置有以下几个:
View.SYSTEM_UI_FLAG_FULLSCREEN; //全屏,状态栏视图不显示 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; //隐藏导航栏视图 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; //全屏,状态栏布局隐藏不显示 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; //隐藏导航栏布局 View.SYSTEM_UI_FLAG_LAYOUT_STABLE;//稳定模式,相当于对布局设置fitSystemWindows View.SYSTEM_UI_FLAG_LOW_PROFILE;//低轮廓模式,多用于游戏、视频、阅读器等应用中 View.SYSTEM_UI_FLAG_VISIBLE;//显示状态栏和导航栏
View.SYSTEM_UI_FLAG_LAYOUT_STABLE说明
带有LAYOUT的是针对布局的,比如View.SYSTEM_UI_FLAG_HIDE_NAVIGATION是隐藏导航栏,可是导航栏所在的布局不会隐藏还是会保留的,应用content内容大小没有变化,导航栏位置还是存在,类似于对view设置INVISIABLE,如果同时设置了View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN是隐藏整个布局,类似与设置GONE的效果,应用内容content布局大小会改变。
View.SYSTEM_UI_FLAG_LAYOUT_STABLE:设置了这个后,内容布局是自适应的,效果类似于:
android:fitsSystemWindows="true"
如果要完全隐藏,应用内容布局自动占据调要隐藏的布局,必须要设置这个才会生效,不然不会起效的,比如你设置了:
View.SYSTEM_UI_FLAG_FULLSCREEN
你会发现它与以下的设置是一样的效果,状态栏是不可见了,但是它 的位置保留着(就是状态栏显示空白或者透明)。
一起设置下面的两个:
View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_FULLSCREEN
状态栏完全消失,应用内容大小适应了屏幕大小。说明这个参数是告诉系统,我想内容布局自适应起来。
带LAYOUT是说明:
对于带layout的设置指的是布局隐藏,比如View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:设置了这个后,状态栏布局会隐藏调,但是状态栏还是可见的,只是应用内容布局会伸缩适应全屏。
View.SYSTEM_UI_FLAG_FULLSCREEN:设置了这个后,状态栏视图会隐藏,内容布局大小不变。
下面是测试的一些效果:
* View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN*
状态栏视图可见,布局被隐藏,应用内容大小高度增加了状态栏的高度,标题栏视图与布局存在。
View.SYSTEM_UI_FLAG_FULLSCREEN
状态栏视图不可见,布局存在,应用内容大小高度没有变化,标题栏视图与布局存在。
View.SYSTEM_UI_FLAG_LAYOUT_STABLE|
* View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN*
状态栏与标题栏视图可见,布局被隐藏,应用内容大小高度增加了状态栏与标题栏的高度。
View.SYSTEM_UI_FLAG_LAYOUT_STABLE|
* View.SYSTEM_UI_FLAG_FULLSCREEN*
状态栏与标题栏视图不可见,状态栏布局存在,标题栏布局不存在,应用内容大小高度增加了标题栏高度。
标题栏控制
代码隐藏标题栏:
requestWindowFeature(Window.FEATURE_NO_TITLE);
通过activity主题控制:
android:theme="@style/android:Theme.Light.NoTitleBar"
下面实现爱掌阅读阅读器的效果:进入阅读器界面是,沉浸式,就是全屏,标题栏状态栏全部去掉,点击中间菜单,显示菜单时同时显示状态栏,状态栏是覆盖在阅读器view上面的,点击菜单消失,状态栏消失。
requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉标题栏 if (Build.VERSION.SDK_INT >= 16) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE|//启动界面自适应 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|//去掉状态栏布局 View.SYSTEM_UI_FLAG_FULLSCREEN//去掉状态栏视图 |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_LOW_PROFILE);//低能模式 }
注意这个要放在setContentView之前;
点击菜单时:
if (Build.VERSION.SDK_INT >= 16) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|//去掉状态栏布局 View.SYSTEM_UI_FLAG_VISIBLE//显示正常,显示状态栏与虚假键 ); }
菜单消失时:
if (Build.VERSION.SDK_INT >= 16) { View decorView = getWindow().getDecorView(); View.SYSTEM_UI_FLAG_LAYOUT_STABLE|//启动界面自适应 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|//去掉状态栏布局 View.SYSTEM_UI_FLAG_FULLSCREEN//去掉状态栏视图 |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_LOW_PROFILE);//低能模式 }
- android系统状态栏与虚拟键导航栏与标题栏控制
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android 去掉标题栏,状态栏,导航栏
- android 隐藏导航栏 状态栏 标题栏
- 导航栏与状态栏
- 导航栏与状态栏
- Android客制化------动态控制导航栏与状态栏
- android 隐藏状态栏 导航栏 虚拟按键
- android-设置状态栏与标题栏背景
- Android 标题栏与状态栏同色
- Android状态栏与标题栏风格一致
- 状态栏与底部导航栏
- android 标题栏,状态栏和导航栏的区别
- KMP
- mysq免安装配置与卸载
- 蓝桥杯 算法训练 操作格子 JAVA
- Python——文件IO
- SAP HANA CREATE VIEW
- android系统状态栏与虚拟键导航栏与标题栏控制
- LeetCode 4. Median of Two Sorted Arrays
- JavaScript闭包
- nitC语言大作业 停车信息管理系统
- 52:构建乘积数组
- HDOJ 2585 maximum shortest distance(求最大团+二分)
- <2-2>进程管理(2)
- 二叉树的实现及相关函数的实现
- SAP HANA CREATE PROCEDURE