android h5状态栏消息,安卓实现系统状态栏的隐藏和显示
尤其视频类APP,需要实现切换到横屏后,隐藏系统状态栏,全屏显示,以实现看更大画面的视频。当切换回竖屏后,又显示状态栏。那么如何实现呢?
网上流传着很多种做法。比如:
1、在AndroidManifest.xml文件中修改theme为android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
2、在setContentView方法前执行如下代码:
requestWindowFeature(Window.FEATURE_NO_TITLE)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
3、通过View的setSystemUiVisibility方法
4、通过如下代码实现状态栏的隐藏和显示:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //隐藏状态栏
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //显示状态栏
在我的项目中是要实现如下需求:在当前Activity中,切换到横屏后,不能销毁Activity再重新初始化,并且实现隐藏系统状态栏,全屏显示;当切换回竖屏后,又显示状态栏。另外,我不需要隐藏标题栏。
因此,方法1、2均不适合我。方法3,我采用过,调用setSystemUiVisibility方法,该方法传入的参数可以为:
1.View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
2.View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
3.View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
4.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。
5.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
6.View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
8.View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
这里我需要传入的是View.SYSTEM_UI_FLAG_FULLSCREEN,可是当我传入该参数后,结果是:只是状态栏消失了,但是位置还在。(测试手机:华为荣耀8 系统是基于Android 7.0的EMUI 5.0;三星galaxy s6 系统是Android 6.0)
最后,使用方法4,成功满足需求。
总结
以上所述是小编给大家介绍的Android实现系统状态栏的隐藏和显示功能,希望对大家有所帮助
android h5状态栏消息,安卓实现系统状态栏的隐藏和显示相关推荐
- H5导航栏被IOS系统状态栏覆盖问题解决
问题描述 在开发h5小程序时发现安卓系统中页面正常显示,但在iPhone中导航栏被系统状态栏覆盖. 解决方法 env()和constant(),是IOS11新增特性,Webkit的css函数,用于设定 ...
- android 版本分布 最新,安卓手机系统版本分布:Android 9.0占比达34%!
原标题:安卓手机系统版本分布:Android 9.0占比达34%! 如今,就国内智能手机市场来说,华为.小米.OPPO.vivo等智能手机厂商不仅在硬件配置上激烈较量,比如采用最新的处理器,再比如手机 ...
- vivo21a点击android版本,vivoX21适配安卓P系统
许多小伙伴们应该都是知道最近即将推出的Android P系统吧,这个系统十分的强大,如果你使用的是vivoX21那么你就有福利了,你可以使用vivoX21 Android P升级这个系统.Androi ...
- android 获取蓝牙设备id_安卓蓝牙系统中如何获取蓝牙音乐的音频跟踪会话ID
原标题:安卓蓝牙系统中如何获取蓝牙音乐的音频跟踪会话ID 蓝牙音乐AudioTrack Session ID的获取 当今这个音视频无处不在的时代,音频跟踪会话ID(AudioTrack Session ...
- android版本如何升级包,安卓手机系统怎么升级?安卓手机系统升级教程
安卓手机系统怎么升级 随着系统的更新换代,相信不少网友对安卓系统的升级都很感兴趣,而这里指的一般都是通过刷机来升级,好像不刷就浑身不舒服一样.安卓系统升级可以在电脑上面下载官方的升级包,或者像小米系统 ...
- android inputmethodmanager 不自动弹出,Android中软键盘InputMethodManager的弹出和隐藏,以及显示和隐藏的监听...
1.首先设置软键盘的弹出模式,设置在初始化View的前面 @Override protected void onCreate(Bundle savedInstanceState) { this.req ...
- android电量图标,安卓手机系统状态栏电量图标如何修改?
看着状态栏的一层不便的电量图标是不是有想换一种的冲动呢? 首先要有re. 1.把system/framework里面的framework-res.apk复制出来,然后解压(解压用电脑里的winrar, ...
- android切换账户功能,安卓9系统开启多用户 android 9支持多用户切换吗?
android 9支持多用户切换吗? 消息说是支持的呢 Android中的APP如何实现多帐号切换? 这个并不难,你可以同时在服务器的数据库中关联一个主键下的多个账户,每一个账户都有唯一的主键,用主键 ...
- html5调用原生android,h5调用IOS/安卓原生方法,原生调h5方法
之前也总结过h5调用原生的方法,但是写的不全.像调完原生之后,原生往往会有返回值,或者根据返回值的不同回调h5的方法. 1.判断机型 getType() { var u = navigator.use ...
最新文章
- vue--卡片层叠 组件 开发小记
- 【 MATLAB 】数字信号处理中的几个常用序列产生的MATLAB代码
- python和c哪个好学-零基础学C好还是python?
- 强化学习:Policy-based方法Part2
- Summary Day30
- Zabbix监控指定端口的步骤
- 关于多画面窗口切换的刷新重绘问题
- java实现线性表的案例_数据结构—线性表(LinearList)的原理以及Java实现案例
- 免费的NBA比赛结果接口
- C/C++编程:仿函数
- AM调制解调的Matlab和Simulink实现
- 「360企业安全云」上线,免费护航中小微企业数字化建设
- 售前技能——寻找客户
- linaCharts开发笔记:Three.js导入obj和使用中文
- CCF的基于UEBA的用户上网异常行为分析baseline(线上0.9263)
- 在IDEA里gradle配置和使用
- OpenCV提取图像中的垂直线(或者水平线)
- 剪切音频matlab_Matlab 按时间段切割音频
- QML 自适应布局 关键
- 微软workflow foundation介绍
热门文章
- 时玉:微生物地理分布的分析方法与技术
- 2020滑铁卢大学计算机科学学费,加拿大大学国际生学费上涨 滑铁卢大学学费上涨62%...
- R语言ggplot2可视化将X轴置于ggplot2图表顶部实战
- R语言构建仿真列联表并进行卡方检验(chisq.test):检验两个分类变量是否独立、输出期望的列联表
- R语言生存分析COX回归分析实战:放疗是否会延长胰脏癌症患者的生存时间
- 机器学习特征工程之连续变量离散化:等频分箱
- 为什么需要权重初始化(weight initialization)?常见的权重初始化方式有哪些?启发式权重初始化的好处?
- The Pediatric Cancer Genome Project 儿童癌症基因组计划
- 数字图像处理中常用图像分割算法有哪些?
- 使用early stopping解决神经网络过拟合问题