Android StatusBar相关设置
Android StatusBar设置
自 4.4 版本(API 19)以后,Android 系统开始支持状态栏的定制,并被纳入 Android 设计规范当中。
statusBar的颜色设置
通过theme实质对应的颜色:
- @android:color/transparent
- true
- false
通过代码设置statusBar颜色
// 设置颜色getWindow().setStatusBarColor(Color.TRANSPARENT);// 设置文字是否黑色View decorView = getWindow().getDecorView();int option = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;decorView.setSystemUiVisibility(option);
statusBar的显示与隐藏
View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(option);
其他
decorView.setSystemUiVisibility(option)涉及到的设置:
-
SYSTEM_UI_FLAG_LOW_PROFILE
设置状态栏和导航栏中的图标变小,变模糊或者弱化其效果。这个标志一般用于游戏,电子书,视频,或者不需要去分散用户注意力的应用软件。
-
SYSTEM_UI_FLAG_HIDE_NAVIGATION
隐藏导航栏,点击屏幕任意区域,导航栏将重新出现,并且不会自动消失。
-
SYSTEM_UI_FLAG_FULLSCREEN
隐藏状态栏,点击屏幕区域不会出现,需要从状态栏位置下拉才会出现。
-
SYSTEM_UI_FLAG_LAYOUT_STABLE
稳定布局,主要是在全屏和非全屏切换时,布局不要有大的变化。一般和View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN、View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION搭配使用。同时,
android:fitsSystemWindows
要设置为true
。 -
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
将布局内容拓展到导航栏的后面。
-
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
将布局内容拓展到状态的后面。
-
SYSTEM_UI_FLAG_IMMERSIVE
使状态栏和导航栏真正的进入沉浸模式,即全屏模式,如果没有设置这个标志,设置全屏时,我们点击屏幕的任意位置,就会恢复为正常模式。所以,
View.SYSTEM_UI_FLAG_IMMERSIVE
都是配合View.SYSTEM_UI_FLAG_FULLSCREEN
和View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
一起使用的。 -
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
它的效果跟
View.SYSTEM_UI_FLAG_IMMERSIVE
一样。但是,它在全屏模式下,用户上下拉状态栏或者导航栏时,这些系统栏只是以半透明的状态显示出来,并且在一定时间后会自动消息。
更多相关文章
- Android buttom textview 颜色平滑过渡的动画效果
- android 常见布局及控件的属性详解
- Android 的状态栏设置图片填充或者颜色填充
- Android布局动画之animateLayoutChanges与LayoutTransition
- Android布局详解
- Android一些关于分辨率和布局的设置
- android的五大布局详解
- android 使用Activity类布局时怎样让图片居中
- android6.0 状态栏添加图标 举例Location