Android  4.4  Camera 源码里面有一个操作界面的方法:

[java] view plaincopy
  1. /**
  2. * If {@param visible} is false, this hides the action bar and switches the
  3. * system UI to lights-out mode. If {@param hideLater} is true, a delayed message
  4. * will be sent after a timeout to hide the action bar.
  5. */
  6. private void setSystemBarsVisibility(boolean visible, boolean hideLater) {
  7. mMainHandler.removeMessages(HIDE_ACTION_BAR);
  8. int currentSystemUIVisibility = mAboveFilmstripControlLayout.getSystemUiVisibility();
  9. int newSystemUIVisibility = DEFAULT_SYSTEM_UI_VISIBILITY |
  10. (visible ? View.SYSTEM_UI_FLAG_VISIBLE :
  11. View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN);
  12. if (newSystemUIVisibility != currentSystemUIVisibility) {
  13. mAboveFilmstripControlLayout.setSystemUiVisibility(newSystemUIVisibility);
  14. }
  15. boolean currentActionBarVisibility = mActionBar.isShowing();
  16. if (visible != currentActionBarVisibility) {
  17. if (visible) {
  18. mActionBar.show();
  19. } else {
  20. mActionBar.hide();
  21. }
  22. if (mOnActionBarVisibilityListener != null) {
  23. mOnActionBarVisibilityListener.onActionBarVisibilityChanged(visible);
  24. }
  25. }
  26. // Now delay hiding the bars
  27. if (visible && hideLater) {
  28. mMainHandler.sendEmptyMessageDelayed(HIDE_ACTION_BAR, SHOW_ACTION_BAR_TIMEOUT_MS);
  29. }
  30. }

这个方法主要封装的就是是否显示状态栏与 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() 显示隐藏状态栏相关推荐

  1. Android全屏显示隐藏状态栏

    1,概论 工作中经常需要用到全屏的页面,还要隐藏系统状态栏或沉浸式 2,设置全屏 2.1,设置有代码中设置,也有Mainfest.xml中设置theme 2.2,要是全局生效就在application ...

  2. android应用去掉状态栏_Android 显示、隐藏状态栏和导航栏

    Android 显示.隐藏状态栏和导航栏 控制状态栏显示,Activity的主题中配置全屏属性 true 控制状态栏显示,在setContentView之前设置全屏的flag getWindow(). ...

  3. Android 显示、隐藏状态栏和导航栏

    Android 显示.隐藏状态栏和导航栏 控制状态栏显示,Activity的主题中配置全屏属性 <item name="android:windowFullscreen"&g ...

  4. VC 显示 隐藏 工具栏 状态栏

    显示或者隐藏工具栏和状态栏 这里讨论显示或者隐藏工具栏.状态栏的操作,以及工具栏.状态栏被显示/隐藏时,相关的两个菜单项ID_VIEW_STATUS_BAR.ID_VIEW_TOOLBAR的状态更新. ...

  5. 程序隐藏状态栏全屏显示

    程序可以在隐藏状态栏全屏显示和原始状态显示之间切换 unit Unit13; interface uses Windows, Messages, SysUtils, Variants, Classes ...

  6. android 隐藏状态栏 不起作用,Android 状态栏的隐藏和显示

    在Android应用中我们可能会碰到这样的需求,隐藏状态栏或者状态栏和应用背景一样的颜色,比如下图: 状态栏和背景一个颜色 Android应用程序的界面上系统元素构成如下图: 在4.1之后的系统,隐藏 ...

  7. android输入法隐藏状态栏,android 输入法设置显示隐藏

    Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入. 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少?我们能否 ...

  8. Android动态显示和隐藏状态栏

    简述: View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性. setSy ...

  9. Android 平板应用隐藏状态栏和底下的导航栏(navigation bar)

    Android 4.4 允许应用以两种方式进入全屏模式: 横置屏幕 (Lean Back) 和沉浸模式(Immersive).无论使用何种方式,进入全屏模式后所有的系统栏都会被隐藏.这两种方式的不同在 ...

最新文章

  1. 2021年春季学期-信号与系统-第九次作业参考答案-第三小题
  2. C#苹果应用开发——第一讲初始Xamarin
  3. 1351. 密码锁【难度: 一般 / 知识点: 枚举 容斥原理】
  4. 文本分类数据集_181个NLP教程,481个文本数据集,Colab一键直达,无需环境配置...
  5. LeetCode 罗马数字与阿拉伯数字的转换
  6. hoj 13788 Dwarves
  7. 微信公众平台开发接口PHP SDK完整版
  8. lambda表达式浅析【C++学习笔记】
  9. 首款“印度制造”的微处理器 AJIT 面世!
  10. android多线程中更新ui,Android 在子线程中更新UI
  11. 谈一谈软件系统的可用性
  12. 计算机Word文档新建样式A1是啥意思,高会《职称计算机》Word 2007:创建新样式
  13. 字节跳动岗位薪酬体系曝光,看完感叹:不服不行
  14. 雅虎被收购后,Tumblr 前途未卜,准备在所有博客中引入广告
  15. stm32驱动ili9486液晶显示屏
  16. 如何转行做数据分析师?
  17. 摩托罗拉Android系统,摩托罗拉Droid官方Android 2.2系统详细功能展示
  18. ssm基于jsp的在线点餐系统 毕业设计源码111016
  19. qq批量登录软件_QQ一键签到助手v1.0
  20. SGSN - GPRS服务支持节点

热门文章

  1. Python 基础知识 D5
  2. hand keypoint detection in single images using multiview bootstrapping
  3. 各种变换的原理----DX版本
  4. python队列实现_Python 数据结构之队列的实现
  5. mysql case默认_linux下安装mysql
  6. Datawhale 零基础入门数据挖掘-Task5 模型融合
  7. Tensroflow练习,包括强化学习、推荐系统、nlp等
  8. featuretools,可自动构造机器学习特征的Python库
  9. 高温保护_耐高温保护膜可以用在哪一方面?
  10. 小米mix2s html,【小米MIX2s评测】2018需要加价买的旗舰 小米MIX 2S评测_小米 MIX 2s(6GB RAM/全网通)_手机评测-中关村在线...