setSystemUiVisibility() 与 getSystemUiVisibility() 显示隐藏状态栏
Android 4.4 Camera 源码里面有一个操作界面的方法:
- /**
- * If {@param visible} is false, this hides the action bar and switches the
- * system UI to lights-out mode. If {@param hideLater} is true, a delayed message
- * will be sent after a timeout to hide the action bar.
- */
- private void setSystemBarsVisibility(boolean visible, boolean hideLater) {
- mMainHandler.removeMessages(HIDE_ACTION_BAR);
- int currentSystemUIVisibility = mAboveFilmstripControlLayout.getSystemUiVisibility();
- int newSystemUIVisibility = DEFAULT_SYSTEM_UI_VISIBILITY |
- (visible ? View.SYSTEM_UI_FLAG_VISIBLE :
- View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN);
- if (newSystemUIVisibility != currentSystemUIVisibility) {
- mAboveFilmstripControlLayout.setSystemUiVisibility(newSystemUIVisibility);
- }
- boolean currentActionBarVisibility = mActionBar.isShowing();
- if (visible != currentActionBarVisibility) {
- if (visible) {
- mActionBar.show();
- } else {
- mActionBar.hide();
- }
- if (mOnActionBarVisibilityListener != null) {
- mOnActionBarVisibilityListener.onActionBarVisibilityChanged(visible);
- }
- }
- // Now delay hiding the bars
- if (visible && hideLater) {
- mMainHandler.sendEmptyMessageDelayed(HIDE_ACTION_BAR, SHOW_ACTION_BAR_TIMEOUT_MS);
- }
- }
这个方法主要封装的就是是否显示状态栏与 ActionBar.
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。
setSystemUiVisibility(int visibility)方法可传入的实参为:
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模式),状态栏上一些图标显示会被隐藏。
转载于:https://www.cnblogs.com/ldq2016/p/7110764.html
setSystemUiVisibility() 与 getSystemUiVisibility() 显示隐藏状态栏相关推荐
- Android全屏显示隐藏状态栏
1,概论 工作中经常需要用到全屏的页面,还要隐藏系统状态栏或沉浸式 2,设置全屏 2.1,设置有代码中设置,也有Mainfest.xml中设置theme 2.2,要是全局生效就在application ...
- android应用去掉状态栏_Android 显示、隐藏状态栏和导航栏
Android 显示.隐藏状态栏和导航栏 控制状态栏显示,Activity的主题中配置全屏属性 true 控制状态栏显示,在setContentView之前设置全屏的flag getWindow(). ...
- Android 显示、隐藏状态栏和导航栏
Android 显示.隐藏状态栏和导航栏 控制状态栏显示,Activity的主题中配置全屏属性 <item name="android:windowFullscreen"&g ...
- VC 显示 隐藏 工具栏 状态栏
显示或者隐藏工具栏和状态栏 这里讨论显示或者隐藏工具栏.状态栏的操作,以及工具栏.状态栏被显示/隐藏时,相关的两个菜单项ID_VIEW_STATUS_BAR.ID_VIEW_TOOLBAR的状态更新. ...
- 程序隐藏状态栏全屏显示
程序可以在隐藏状态栏全屏显示和原始状态显示之间切换 unit Unit13; interface uses Windows, Messages, SysUtils, Variants, Classes ...
- android 隐藏状态栏 不起作用,Android 状态栏的隐藏和显示
在Android应用中我们可能会碰到这样的需求,隐藏状态栏或者状态栏和应用背景一样的颜色,比如下图: 状态栏和背景一个颜色 Android应用程序的界面上系统元素构成如下图: 在4.1之后的系统,隐藏 ...
- android输入法隐藏状态栏,android 输入法设置显示隐藏
Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入. 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少?我们能否 ...
- Android动态显示和隐藏状态栏
简述: View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性. setSy ...
- Android 平板应用隐藏状态栏和底下的导航栏(navigation bar)
Android 4.4 允许应用以两种方式进入全屏模式: 横置屏幕 (Lean Back) 和沉浸模式(Immersive).无论使用何种方式,进入全屏模式后所有的系统栏都会被隐藏.这两种方式的不同在 ...
最新文章
- 2021年春季学期-信号与系统-第九次作业参考答案-第三小题
- C#苹果应用开发——第一讲初始Xamarin
- 1351. 密码锁【难度: 一般 / 知识点: 枚举 容斥原理】
- 文本分类数据集_181个NLP教程,481个文本数据集,Colab一键直达,无需环境配置...
- LeetCode 罗马数字与阿拉伯数字的转换
- hoj 13788 Dwarves
- 微信公众平台开发接口PHP SDK完整版
- lambda表达式浅析【C++学习笔记】
- 首款“印度制造”的微处理器 AJIT 面世!
- android多线程中更新ui,Android 在子线程中更新UI
- 谈一谈软件系统的可用性
- 计算机Word文档新建样式A1是啥意思,高会《职称计算机》Word 2007:创建新样式
- 字节跳动岗位薪酬体系曝光,看完感叹:不服不行
- 雅虎被收购后,Tumblr 前途未卜,准备在所有博客中引入广告
- stm32驱动ili9486液晶显示屏
- 如何转行做数据分析师?
- 摩托罗拉Android系统,摩托罗拉Droid官方Android 2.2系统详细功能展示
- ssm基于jsp的在线点餐系统 毕业设计源码111016
- qq批量登录软件_QQ一键签到助手v1.0
- SGSN - GPRS服务支持节点
热门文章
- Python 基础知识 D5
- hand keypoint detection in single images using multiview bootstrapping
- 各种变换的原理----DX版本
- python队列实现_Python 数据结构之队列的实现
- mysql case默认_linux下安装mysql
- Datawhale 零基础入门数据挖掘-Task5 模型融合
- Tensroflow练习,包括强化学习、推荐系统、nlp等
- featuretools,可自动构造机器学习特征的Python库
- 高温保护_耐高温保护膜可以用在哪一方面?
- 小米mix2s html,【小米MIX2s评测】2018需要加价买的旗舰 小米MIX 2S评测_小米 MIX 2s(6GB RAM/全网通)_手机评测-中关村在线...